teste-ourdb
v0.0.1
Published
A Database Library
Downloads
4
Readme
باستخدام npm | Using npm
npm install ourdb
باستخدام yarn | Using yarn
yarn add ourdb
باستخدام pnpm | Using pnpm
pnpm add ourdb
## 🚀 المميزات الرئيسية | Main Features
### التوزيع الأفقي والتكرار | Sharding & Replication
- ⚖️ توزيع البيانات تلقائياً | Automatic data distribution
- 🔄 تكرار البيانات للموثوقية | Data replication for reliability
- 🔁 إعادة توازن تلقائية | Automatic rebalancing
### تحليلات متقدمة | Advanced Analytics
- 📊 دعم التجميع المتقدم | Advanced aggregation support
- 📈 تحليل البيانات الزمنية | Time-series analysis
- 🔍 استعلامات معقدة | Complex queries
### أداء عالي | High Performance
- ⚡ تخزين في الذاكرة | In-memory storage
- 💾 تخزين مؤقت ذكي | Smart caching
- 🚄 تحسين الاستعلامات | Query optimization
## 📚 أمثلة الاستخدام | Usage Examples
### إعداد قاعدة بيانات موزعة | Setting up a Sharded Database
```javascript
const { Database } = require('ourdb');
const db = new Database('myapp', {
sharding: {
enabled: true,
numShards: 3,
replicationFactor: 2
},
cache: {
maxSize: 10000,
maxAge: 300000 // 5 minutes
}
});
// إنشاء مجموعة موزعة | Create a sharded collection
const users = db.createCollection('users', {
schema: userSchema,
shardKey: 'userId'
});
تحليلات متقدمة | Advanced Analytics
// استعلام تجميعي | Aggregation query
const result = await db.query('sales', [
{ $match: { date: { $gte: new Date('2024-01-01') } } },
{ $group: {
_id: '$category',
totalSales: { $sum: '$amount' },
avgOrder: { $avg: '$amount' }
}}
]);
بيانات زمنية | Time Series Data
// إنشاء مجموعة زمنية | Create time series collection
const metrics = db.createCollection('metrics', {
timeSeries: true,
retention: {
duration: 1000 * 60 * 60 * 24 * 30, // 30 days
precision: 'minute'
}
});
// إدخال قياسات | Insert measurements
metrics.insert({
sensor: 'temp_1',
value: 23.5,
timestamp: new Date()
});
// استعلام عن فترة زمنية | Query time range
const data = metrics.queryRange(
'2024-02-01',
'2024-02-16',
{ sensor: 'temp_1' }
);
استعلامات بيانية | Graph Queries
// إنشاء فهرس بياني | Create graph index
db.createGraphIndex('users', 'follows', 'followedBy');
// تتبع العلاقات | Traverse relationships
const network = await db.traverseGraph('users',
startUser,
'follows',
{ maxDepth: 3 }
);
⚡ الأداء | Performance
- معالجة +100,000 عملية/الثانية | 100,000+ operations/second
- دعم ملايين السجلات | Millions of records support
- تأخير منخفض | Low latency
- توسع أفقي سلس | Seamless horizontal scaling
🛠️ الإعداد للتطوير | Development Setup
git clone https://github.com/yourusername/ourdb.git
cd ourdb
npm install
npm test