bigbasealpha
Version:
Professional Grade Custom Database System - A sophisticated, dependency-free database with encryption, caching, indexing, and web dashboard
448 lines (362 loc) ⢠15.6 kB
Markdown
# š BigBaseAlpha
**Enterprise-Grade NoSQL Database System**
BigBaseAlpha is a sophisticated enterprise database system built from scratch in JavaScript. Features include encryption, caching, indexing, blockchain integration, machine learning, stream processing, and comprehensive web dashboards.

# š Changelog
## [1.4.0] - 2025-08-03
- **Security & Privacy Suite**: Advanced security features for data protection and privacy
- Self-Destruct Mode: `db.activateSelfDestruct()` with PIN protection and deep wipe
- Dead Man's Switch: Automatic destruction after inactivity period
- Paranoia Mode: Enhanced logging and tampering protection
- One-Time Access Keys: Data that self-destructs after single read
- Wipe Command: Pattern-based secure data deletion
- Decoy Database: Returns fake data when wrong password is used
- Execution Triggers: Data that executes code when accessed
## [1.3.0] - 2025-08-02
- **Terminal UI Framework**: Rich terminal components with colors integration for enhanced developer experience
- ASCII charts: bar chart, line chart, pie chart visualization in terminal
- Dynamic data tables with sorting and filtering capabilities
- Real-time log monitors with colored levels (info, warn, error)
- Component API: `alpha.ui.createComponent({ type: 'chart', data })` for easy UI creation
- **Profiling & Performance Monitor**: System performance monitoring through terminal interface
- CPU, RAM, Disk I/O live graphics and monitoring
- `alpha.ui.monitor('cpu')` for real-time system monitoring
- Log density analysis, query duration tracking, data flow analytics
- Performance insights and bottleneck detection
## [1.2.0] - 2025-07-31
- Dashboard (port 3000) and Streaming (port 8080) are now disabled by default. These services will only start if you explicitly call `startDashboard()` or `startStreaming()`.
- This prevents unwanted open ports when BigBaseAlpha is integrated into other projects, improving security and resource management.
- Monitoring system now safely ignores ENOENT errors for test/temporary directories, ensuring clean test runs.
- Full multi-format data storage support: `.json`, `.db` (binary/encrypted), `.csv`, `.xml`, `.yaml`, `.bin`, `.hybrid` formats are now supported for collections and backups.
- New formats added in v1.1.0: `.db` (binary/encrypted), `.csv`, `.xml`, `.yaml`, `.bin`, `.hybrid`.
- See [CHANGELOG.md](./CHANGELOG.md) for full details and previous versions.
## [1.1.0] - 2025-07-31 (Summary)
- Centralized log control: `silent` and `logger` options for all core and plugin logs
- All logs can now be silenced or redirected in embedded/SDK usage
- Buffer serialization/deserialization for `.db` format fully fixed and tested
- Internal plugin log calls now respect the main instance's `silent`/`logger` options
- Test scripts and error messages fully translated to English
- `.db` file header bug (slice length) resolved for robust binary compatibility
- Minor test and documentation improvements



## ⨠Core Features
### š§ Database Engine
- **Multi-format Storage**: JSON, Binary, and Hybrid storage
- **Advanced Querying**: Powerful query syntax with aggregation
- **Real-time Events**: Live data change notifications
- **ACID Transactions**: Data integrity and consistency
- **Schema Validation**: Flexible data validation rules
### š”ļø Security & Performance
- **AES-256 Encryption**: Industry-standard data protection
- **Intelligent Caching**: Memory-based caching with TTL
- **Advanced Indexing**: B-tree indexing for fast queries
- **Audit Logging**: Complete operation tracking
- **Role-based Access**: Granular permission system
### š Enterprise Features
- **Stream Processing**: Real-time data processing pipelines
- **Blockchain Integration**: Cryptocurrency wallets and smart contracts
- **Machine Learning**: Built-in ML algorithms and pattern recognition
- **Business Intelligence**: KPI tracking and analytics
- **API Gateway**: Microservices management and load balancing
- **Data Replication**: Master-slave replication with failover
- **ETL Pipeline**: Extract, Transform, Load operations
### š Security & Privacy Suite (New in v1.4.0)
- **Self-Destruct Mode**: Database can destroy itself with PIN protection and configurable wipe levels
- **Dead Man's Switch**: Automatic destruction after period of inactivity
- **Paranoia Mode**: Enhanced logging, encryption, and tampering protection
- **One-Time Access Keys**: Data that automatically deletes after single read
- **Secure Wipe**: Pattern-based data deletion with multiple overwrite iterations
- **Decoy Database**: Shows fake data when wrong authentication is used
- **Execution Triggers**: Data that executes custom code when accessed
### šØ Terminal UI & Analytics (v1.3.0)
- **Terminal UI Framework**: Rich ASCII charts, tables, and dashboards
- **Performance Analytics**: Real-time CPU, memory, and disk monitoring
- **Query Profiling**: Detailed performance analysis and optimization tips
- **Interactive Components**: Progress bars, log monitors, and data tables
- **System Metrics**: Live system performance tracking and reporting
### š„ļø Management Tools
- **Web Dashboard**: Professional monitoring interface
- **CLI Tools**: Complete command-line interface
- **Plugin System**: Extensible architecture
- **Backup & Restore**: Automated data protection
- **Real-time Monitoring**: System health and performance tracking
## š Quick Start
### Installation
#### From npm (Recommended)
```bash
npm install bigbasealpha
```
#### From GitHub
```bash
git clone https://github.com/ByAlphas/bigbasealpha.git
cd bigbasealpha
npm install
```
### Basic Usage
```javascript
import BigBaseAlpha from 'bigbasealpha';
const db = new BigBaseAlpha({
path: './data',
format: 'json',
encryption: true,
caching: true,
indexing: true
});
await db.init();
// Create collection and insert data
await db.createCollection('users');
await db.insert('users', {
name: 'John Doe',
email: 'john@example.com',
age: 30
});
// Query data
const user = await db.findOne('users', { email: 'john@example.com' });
const adults = await db.find('users', { age: { $gte: 18 } });
```
### š Security & Privacy Suite (New in v1.4.0)
```javascript
import BigBaseAlpha from 'bigbasealpha';
const db = new BigBaseAlpha({ security: { paranoidLogging: true } });
await db.init();
// Self-Destruct Mode
const destruct = db.activateSelfDestruct({
timeout: 60000, // 1 minute
secure: true, // PIN required to abort
wipeLevel: "deep" // Overwrite 3 times with random data
});
console.log(`Emergency PIN: ${destruct.pin}`);
// Cancel with: db.abortDestruct(destruct.pin)
// Dead Man's Switch - Auto-destruct after inactivity
db.enableDeadMansSwitch({
delay: 24 * 60 * 60 * 1000, // 24 hours
triggerMessage: "No activity detected, erasing everything...",
callback: () => console.log("Goodbye...")
});
// Paranoia Mode - Enhanced security logging
db.enableParanoia({
encryption: "AES-256-GCM",
tamperCheck: true
});
// One-Time Access Keys
await db.setOneTime("secret", "This message will self-destruct");
const message = await db.getOneTime("secret"); // Auto-deleted after read
// Secure Wipe
await db.wipe("sensitive*", { confirm: true, wipeLevel: "deep" });
// Decoy Database
const decoy = db.enableDecoy({
password: "correcthorsebatterystaple",
decoyData: { fake: "This is fake data" }
});
// Execution Triggers
await db.setTrigger("trap", "š", {
onRead: () => {
console.log("Trap activated!");
db.wipe("*", { confirm: true });
}
});
```
### šØ Terminal UI Framework (v1.3.0)
```javascript
import BigBaseAlpha from 'bigbasealpha';
const db = new BigBaseAlpha({ ui: { colors: true, animation: true } });
await db.init();
// Create beautiful charts
const chart = db.createChart({
type: 'bar',
values: [
{ label: 'Users', value: 150 },
{ label: 'Orders', value: 89 },
{ label: 'Products', value: 200 }
]
}, { title: 'Database Stats', color: 'green' });
chart.render(); // Displays ASCII bar chart
// Create interactive tables
const table = db.createTable(userData, {
title: 'User Management',
sortBy: 'name',
filterBy: 'active'
});
table.render();
// Real-time log monitoring
const logMonitor = db.createLogMonitor(logSource, {
title: 'System Logs',
levels: ['info', 'warn', 'error']
});
```
### š Performance Analytics (v1.3.0)
```javascript
// Real-time system monitoring
const cpuMonitor = db.monitor('cpu', { duration: 30000 });
const memoryMonitor = db.monitor('memory', { interval: 1000 });
// Query profiling
const result = await db.executeQueryWithProfiling('users', {
age: { $gte: 25 }
});
console.log(`Query took: ${result.performance.duration}ms`);
console.log(`Efficiency: ${result.analysis.efficiency}%`);
// Performance reporting
const report = db.generatePerformanceReport({
format: 'terminal',
includeCharts: true
});
// System metrics
const metrics = db.getSystemMetrics();
console.log(`CPU: ${metrics.cpu.average}%`);
console.log(`Memory: ${metrics.memory.system.percentage}%`);
```
### Web Dashboard
```bash
npm run dashboard
# Access at: http://localhost:3000
```
### CLI Commands
```bash
npm run status # Database status
npm run test # Run tests
npm run backup # Create backup
npm run demo:ui # Terminal UI demo
npm run demo:security # Security features demo
npm run demo:paranoia # Paranoia mode demo
npm run monitor:cpu # Live CPU monitoring
npm run monitor:memory # Live memory monitoring
npm run performance:report # Generate performance report
npm run emergency # Emergency shutdown (destructive!)
bigbase collections # List collections
bigbase stats # View statistics
```
## š Performance Benchmarks
**Real Test Results (Latest Benchmark):**
| Operation | Ops/second | Notes |
|-----------|------------|-------|
| **Read** | **103,642** | š Redis-level performance |
| **Query** | **93,869** | š 19x faster than MongoDB |
| **Insert** | **39** | āļø Optimized for consistency |
| **Update** | **372** | š Reliable updates |
| **Delete** | **225** | šļø Safe deletions |
**Comparison with Popular Databases:**
| Database | Read Speed | Query Speed | Use Case |
|----------|------------|-------------|----------|
| **BigBaseAlpha** | **103,642** | **93,869** | š Best overall |
| Redis | ~100,000 | ~80,000 | In-memory only |
| SQLite | ~40,000 | ~8,000 | File-based |
| MongoDB | ~15,000 | ~5,000 | Document DB |
### šÆ Performance Highlights:
- **š Read Speed**: Redis-level performance (103K+ ops/sec)
- **š Query Speed**: 19x faster than MongoDB
- **š”ļø Enterprise Features**: Full ACID compliance with high speed
- **š¾ Persistent**: Unlike Redis, data persists to disk
### ā ļø **System Note:**
> **Testing Environment**: These benchmarks were conducted on a mid-range development system.
> On high-performance servers with more RAM, faster SSD storage, and dedicated database optimization,
> the results would be significantly more impressive. BigBaseAlpha is designed to scale with hardware capabilities.
### š **Run Your Own Benchmark:**
```bash
npm run benchmark # Quick performance test
npm run benchmark:full # Comprehensive comparison
```
## šļø Architecture
```
BigBaseAlpha/
āāā src/
ā āāā alpha.js # Main database class
ā āāā storage/ # Storage engine
ā āāā security/ # Security layer
ā āāā caching/ # Caching system
ā āāā indexing/ # Indexing engine
ā āāā cli/ # Command line interface
ā āāā dashboard/ # Web dashboard
ā āāā streaming/ # Stream processing
ā āāā blockchain/ # Blockchain integration
ā āāā ml/ # Machine learning
ā āāā utils/ # Utilities
āāā examples/ # Usage examples
āāā test/ # Test files
āāā README.md
```
## š§ Advanced Configuration
```javascript
const config = {
// Core settings
path: './data',
format: 'json',
encryption: true,
caching: true,
indexing: true,
// Enterprise features
streamProcessing: { enabled: true },
blockchain: { enabled: true, network: 'testnet' },
machineLearning: { enabled: true },
replication: { enabled: true, mode: 'master-slave' },
monitoring: { enabled: true, alerting: true }
};
```
## š Query Examples
```javascript
// Basic queries
await db.find('users', { age: 25 });
await db.find('users', { age: { $gte: 18 } });
// Complex queries
await db.find('users', {
$and: [
{ age: { $gte: 18 } },
{ role: { $in: ['admin', 'manager'] } }
]
});
// Aggregation
await db.aggregate('sales', [
{ $match: { date: { $gte: new Date('2024-01-01') } } },
{ $group: { _id: '$product', total: { $sum: '$amount' } } },
{ $sort: { total: -1 } }
]);
```
## š Enterprise Features
### Stream Processing
```javascript
const stream = await db.createDataStream('events');
await db.publishToStream('events', { type: 'user_action', data: {...} });
```
### Blockchain Integration
```javascript
const wallet = await db.createBlockchainWallet('user123');
const transaction = await db.sendBlockchainTransaction(wallet.address, 'recipient', 100);
```
### Machine Learning
```javascript
const model = await db.createMLModel('predictions', 'classification', trainingData);
const result = await db.predict('predictions', newData);
```
## š”ļø Security Features
- **AES-256 Encryption**: Data protection at rest
- **bcrypt Hashing**: Secure password storage
- **Audit Logging**: Complete operation tracking
- **Access Control**: Role-based permissions
- **Input Validation**: Data sanitization and validation
## š Scripts
```bash
npm run start # Start database
npm run dashboard # Web dashboard
npm run test # Run tests
npm run benchmark # Performance benchmark
npm run backup # Create backup
npm run cli # CLI interface
```
## š¤ Contributing
1. Fork the repository
2. Create feature branch (`git checkout -b feature/new-feature`)
3. Commit changes (`git commit -m 'Add new feature'`)
4. Push to branch (`git push origin feature/new-feature`)
5. Create Pull Request
## š License
Apache License 2.0 - see [LICENSE](LICENSE) file for details.
## š Why BigBaseAlpha?
- **š High Performance**: Optimized for speed and efficiency
- **š Enterprise Security**: Production-ready security features
- **š Modern Architecture**: Built with latest JavaScript features
- **š Rich Analytics**: Built-in business intelligence
- **š§ Developer Friendly**: Intuitive API and extensive documentation
---
**BigBaseAlpha** - *Enterprise Database System*
š **Production Ready** ⢠š **Enterprise Grade** ⢠┠**High Performance**