@nahisaho/yata-scale 1.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +66 -0
  2. package/dist/CacheManager.d.ts +107 -0
  3. package/dist/CacheManager.d.ts.map +1 -0
  4. package/dist/CacheManager.js +343 -0
  5. package/dist/CacheManager.js.map +1 -0
  6. package/dist/IndexManager.d.ts +103 -0
  7. package/dist/IndexManager.d.ts.map +1 -0
  8. package/dist/IndexManager.js +385 -0
  9. package/dist/IndexManager.js.map +1 -0
  10. package/dist/MigrationHelper.d.ts +91 -0
  11. package/dist/MigrationHelper.d.ts.map +1 -0
  12. package/dist/MigrationHelper.js +220 -0
  13. package/dist/MigrationHelper.js.map +1 -0
  14. package/dist/QueryCoordinator.d.ts +76 -0
  15. package/dist/QueryCoordinator.d.ts.map +1 -0
  16. package/dist/QueryCoordinator.js +298 -0
  17. package/dist/QueryCoordinator.js.map +1 -0
  18. package/dist/ShardManager.d.ts +48 -0
  19. package/dist/ShardManager.d.ts.map +1 -0
  20. package/dist/ShardManager.js +193 -0
  21. package/dist/ShardManager.js.map +1 -0
  22. package/dist/SyncController.d.ts +102 -0
  23. package/dist/SyncController.d.ts.map +1 -0
  24. package/dist/SyncController.js +286 -0
  25. package/dist/SyncController.js.map +1 -0
  26. package/dist/YataScaleManager.d.ts +75 -0
  27. package/dist/YataScaleManager.d.ts.map +1 -0
  28. package/dist/YataScaleManager.js +265 -0
  29. package/dist/YataScaleManager.js.map +1 -0
  30. package/dist/cache/CacheManager.d.ts +116 -0
  31. package/dist/cache/CacheManager.d.ts.map +1 -0
  32. package/dist/cache/CacheManager.js +286 -0
  33. package/dist/cache/CacheManager.js.map +1 -0
  34. package/dist/cache/InvalidationManager.d.ts +91 -0
  35. package/dist/cache/InvalidationManager.d.ts.map +1 -0
  36. package/dist/cache/InvalidationManager.js +155 -0
  37. package/dist/cache/InvalidationManager.js.map +1 -0
  38. package/dist/cache/L1Cache.d.ts +97 -0
  39. package/dist/cache/L1Cache.d.ts.map +1 -0
  40. package/dist/cache/L1Cache.js +225 -0
  41. package/dist/cache/L1Cache.js.map +1 -0
  42. package/dist/cache/L2Cache.d.ts +93 -0
  43. package/dist/cache/L2Cache.d.ts.map +1 -0
  44. package/dist/cache/L2Cache.js +248 -0
  45. package/dist/cache/L2Cache.js.map +1 -0
  46. package/dist/cache/L3Cache.d.ts +101 -0
  47. package/dist/cache/L3Cache.d.ts.map +1 -0
  48. package/dist/cache/L3Cache.js +229 -0
  49. package/dist/cache/L3Cache.js.map +1 -0
  50. package/dist/cache/index.d.ts +12 -0
  51. package/dist/cache/index.d.ts.map +1 -0
  52. package/dist/cache/index.js +11 -0
  53. package/dist/cache/index.js.map +1 -0
  54. package/dist/errors.d.ts +255 -0
  55. package/dist/errors.d.ts.map +1 -0
  56. package/dist/errors.js +515 -0
  57. package/dist/errors.js.map +1 -0
  58. package/dist/index/BPlusTreeIndex.d.ts +101 -0
  59. package/dist/index/BPlusTreeIndex.d.ts.map +1 -0
  60. package/dist/index/BPlusTreeIndex.js +310 -0
  61. package/dist/index/BPlusTreeIndex.js.map +1 -0
  62. package/dist/index/BloomFilter.d.ts +85 -0
  63. package/dist/index/BloomFilter.d.ts.map +1 -0
  64. package/dist/index/BloomFilter.js +215 -0
  65. package/dist/index/BloomFilter.js.map +1 -0
  66. package/dist/index/FullTextIndex.d.ts +87 -0
  67. package/dist/index/FullTextIndex.d.ts.map +1 -0
  68. package/dist/index/FullTextIndex.js +213 -0
  69. package/dist/index/FullTextIndex.js.map +1 -0
  70. package/dist/index/GraphIndex.d.ts +116 -0
  71. package/dist/index/GraphIndex.d.ts.map +1 -0
  72. package/dist/index/GraphIndex.js +308 -0
  73. package/dist/index/GraphIndex.js.map +1 -0
  74. package/dist/index/IndexManager.d.ts +105 -0
  75. package/dist/index/IndexManager.d.ts.map +1 -0
  76. package/dist/index/IndexManager.js +287 -0
  77. package/dist/index/IndexManager.js.map +1 -0
  78. package/dist/index/index.d.ts +12 -0
  79. package/dist/index/index.d.ts.map +1 -0
  80. package/dist/index/index.js +11 -0
  81. package/dist/index/index.js.map +1 -0
  82. package/dist/index.d.ts +12 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +12 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/query/DistributedExecutor.d.ts +78 -0
  87. package/dist/query/DistributedExecutor.d.ts.map +1 -0
  88. package/dist/query/DistributedExecutor.js +232 -0
  89. package/dist/query/DistributedExecutor.js.map +1 -0
  90. package/dist/query/QueryCoordinator.d.ts +98 -0
  91. package/dist/query/QueryCoordinator.d.ts.map +1 -0
  92. package/dist/query/QueryCoordinator.js +246 -0
  93. package/dist/query/QueryCoordinator.js.map +1 -0
  94. package/dist/query/QueryPlanner.d.ts +88 -0
  95. package/dist/query/QueryPlanner.d.ts.map +1 -0
  96. package/dist/query/QueryPlanner.js +235 -0
  97. package/dist/query/QueryPlanner.js.map +1 -0
  98. package/dist/query/WorkerPool.d.ts +108 -0
  99. package/dist/query/WorkerPool.d.ts.map +1 -0
  100. package/dist/query/WorkerPool.js +195 -0
  101. package/dist/query/WorkerPool.js.map +1 -0
  102. package/dist/query/index.d.ts +11 -0
  103. package/dist/query/index.d.ts.map +1 -0
  104. package/dist/query/index.js +10 -0
  105. package/dist/query/index.js.map +1 -0
  106. package/dist/shard/GraphPartitionStrategy.d.ts +65 -0
  107. package/dist/shard/GraphPartitionStrategy.d.ts.map +1 -0
  108. package/dist/shard/GraphPartitionStrategy.js +208 -0
  109. package/dist/shard/GraphPartitionStrategy.js.map +1 -0
  110. package/dist/shard/HashPartitionStrategy.d.ts +56 -0
  111. package/dist/shard/HashPartitionStrategy.d.ts.map +1 -0
  112. package/dist/shard/HashPartitionStrategy.js +169 -0
  113. package/dist/shard/HashPartitionStrategy.js.map +1 -0
  114. package/dist/shard/RangePartitionStrategy.d.ts +63 -0
  115. package/dist/shard/RangePartitionStrategy.d.ts.map +1 -0
  116. package/dist/shard/RangePartitionStrategy.js +157 -0
  117. package/dist/shard/RangePartitionStrategy.js.map +1 -0
  118. package/dist/shard/Rebalancer.d.ts +70 -0
  119. package/dist/shard/Rebalancer.d.ts.map +1 -0
  120. package/dist/shard/Rebalancer.js +184 -0
  121. package/dist/shard/Rebalancer.js.map +1 -0
  122. package/dist/shard/ShardManager.d.ts +123 -0
  123. package/dist/shard/ShardManager.d.ts.map +1 -0
  124. package/dist/shard/ShardManager.js +353 -0
  125. package/dist/shard/ShardManager.js.map +1 -0
  126. package/dist/shard/ShardRouter.d.ts +102 -0
  127. package/dist/shard/ShardRouter.d.ts.map +1 -0
  128. package/dist/shard/ShardRouter.js +181 -0
  129. package/dist/shard/ShardRouter.js.map +1 -0
  130. package/dist/shard/index.d.ts +13 -0
  131. package/dist/shard/index.d.ts.map +1 -0
  132. package/dist/shard/index.js +12 -0
  133. package/dist/shard/index.js.map +1 -0
  134. package/dist/sync/ConflictResolver.d.ts +71 -0
  135. package/dist/sync/ConflictResolver.d.ts.map +1 -0
  136. package/dist/sync/ConflictResolver.js +214 -0
  137. package/dist/sync/ConflictResolver.js.map +1 -0
  138. package/dist/sync/SyncController.d.ts +150 -0
  139. package/dist/sync/SyncController.d.ts.map +1 -0
  140. package/dist/sync/SyncController.js +304 -0
  141. package/dist/sync/SyncController.js.map +1 -0
  142. package/dist/sync/VectorClock.d.ts +102 -0
  143. package/dist/sync/VectorClock.d.ts.map +1 -0
  144. package/dist/sync/VectorClock.js +189 -0
  145. package/dist/sync/VectorClock.js.map +1 -0
  146. package/dist/sync/WALManager.d.ts +120 -0
  147. package/dist/sync/WALManager.d.ts.map +1 -0
  148. package/dist/sync/WALManager.js +240 -0
  149. package/dist/sync/WALManager.js.map +1 -0
  150. package/dist/sync/index.d.ts +11 -0
  151. package/dist/sync/index.d.ts.map +1 -0
  152. package/dist/sync/index.js +10 -0
  153. package/dist/sync/index.js.map +1 -0
  154. package/dist/types.d.ts +323 -0
  155. package/dist/types.d.ts.map +1 -0
  156. package/dist/types.js +7 -0
  157. package/dist/types.js.map +1 -0
  158. package/package.json +86 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DistributedExecutor.js","sourceRoot":"","sources":["../../src/query/DistributedExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * @nahisaho/yata-scale - Query Coordinator
3
+ *
4
+ * High-level query coordination and caching
5
+ */
6
+ import { type Result } from 'neverthrow';
7
+ import type { GraphQuery, QueryResult, QueryOptions, Entity } from '../types.js';
8
+ import { QueryError } from '../errors.js';
9
+ import { QueryPlanner } from './QueryPlanner.js';
10
+ import { DistributedExecutor, type ShardQueryFn } from './DistributedExecutor.js';
11
+ /**
12
+ * Query coordinator for managing query lifecycle
13
+ */
14
+ export declare class QueryCoordinator {
15
+ private readonly planner;
16
+ private readonly executor;
17
+ private readonly cache;
18
+ private readonly maxCacheSize;
19
+ private readonly defaultCacheTtlMs;
20
+ constructor(parallelism?: number, maxCacheSize?: number, defaultCacheTtlMs?: number);
21
+ /**
22
+ * Execute a query
23
+ */
24
+ query(graphQuery: GraphQuery, shards: string[], queryFn: ShardQueryFn, options?: QueryOptions): Promise<Result<QueryResult, QueryError>>;
25
+ /**
26
+ * Validate query
27
+ */
28
+ private validateQuery;
29
+ /**
30
+ * Get cache key for query
31
+ */
32
+ private getCacheKey;
33
+ /**
34
+ * Get from cache
35
+ */
36
+ private getFromCache;
37
+ /**
38
+ * Add to cache
39
+ */
40
+ private addToCache;
41
+ /**
42
+ * Evict oldest cache entry
43
+ */
44
+ private evictOldest;
45
+ /**
46
+ * Invalidate cache entries
47
+ */
48
+ invalidateCache(pattern?: string): void;
49
+ /**
50
+ * Find entities by type
51
+ */
52
+ findByType(entityType: string, shards: string[], queryFn: ShardQueryFn, options?: {
53
+ limit?: number;
54
+ offset?: number;
55
+ }): Promise<Result<Entity[], QueryError>>;
56
+ /**
57
+ * Find entity by ID
58
+ */
59
+ findById(entityId: string, shards: string[], queryFn: ShardQueryFn): Promise<Result<Entity | undefined, QueryError>>;
60
+ /**
61
+ * Find related entities
62
+ */
63
+ findRelated(entityId: string, relationshipType: string, shards: string[], queryFn: ShardQueryFn, options?: {
64
+ depth?: number;
65
+ limit?: number;
66
+ }): Promise<Result<Entity[], QueryError>>;
67
+ /**
68
+ * Search entities
69
+ */
70
+ search(searchQuery: string, shards: string[], queryFn: ShardQueryFn, options?: {
71
+ entityTypes?: string[];
72
+ limit?: number;
73
+ }): Promise<Result<Entity[], QueryError>>;
74
+ /**
75
+ * Explain query plan
76
+ */
77
+ explain(query: GraphQuery): string;
78
+ /**
79
+ * Get query planner
80
+ */
81
+ getPlanner(): QueryPlanner;
82
+ /**
83
+ * Get distributed executor
84
+ */
85
+ getExecutor(): DistributedExecutor;
86
+ /**
87
+ * Get cache statistics
88
+ */
89
+ getCacheStats(): {
90
+ size: number;
91
+ maxSize: number;
92
+ };
93
+ /**
94
+ * Shutdown coordinator
95
+ */
96
+ shutdown(): Promise<void>;
97
+ }
98
+ //# sourceMappingURL=QueryCoordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryCoordinator.d.ts","sourceRoot":"","sources":["../../src/query/QueryCoordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * @nahisaho/yata-scale - Query Coordinator
3
+ *
4
+ * High-level query coordination and caching
5
+ */
6
+ import { ok, err } from 'neverthrow';
7
+ import { InvalidQueryError } from '../errors.js';
8
+ import { QueryPlanner } from './QueryPlanner.js';
9
+ import { DistributedExecutor } from './DistributedExecutor.js';
10
+ /**
11
+ * Query coordinator for managing query lifecycle
12
+ */
13
+ export class QueryCoordinator {
14
+ planner;
15
+ executor;
16
+ cache = new Map();
17
+ maxCacheSize;
18
+ defaultCacheTtlMs;
19
+ constructor(parallelism = 4, maxCacheSize = 1000, defaultCacheTtlMs = 60000) {
20
+ this.planner = new QueryPlanner();
21
+ this.executor = new DistributedExecutor(parallelism);
22
+ this.maxCacheSize = maxCacheSize;
23
+ this.defaultCacheTtlMs = defaultCacheTtlMs;
24
+ }
25
+ /**
26
+ * Execute a query
27
+ */
28
+ async query(graphQuery, shards, queryFn, options) {
29
+ // Validate query
30
+ const validationResult = this.validateQuery(graphQuery);
31
+ if (validationResult.isErr()) {
32
+ return err(validationResult.error);
33
+ }
34
+ // Check cache
35
+ if (options?.useCache !== false) {
36
+ const cacheKey = this.getCacheKey(graphQuery);
37
+ const cached = this.getFromCache(cacheKey);
38
+ if (cached) {
39
+ return ok(cached);
40
+ }
41
+ }
42
+ // Plan query
43
+ const plan = this.planner.plan(graphQuery);
44
+ // Optimize plan
45
+ const optimizedPlan = this.planner.optimize(plan);
46
+ // Execute query
47
+ const result = await this.executor.execute(optimizedPlan, shards, queryFn);
48
+ if (result.isOk() && options?.useCache !== false) {
49
+ const cacheKey = this.getCacheKey(graphQuery);
50
+ this.addToCache(cacheKey, result.value, options?.cacheTtlMs);
51
+ }
52
+ return result;
53
+ }
54
+ /**
55
+ * Validate query
56
+ */
57
+ validateQuery(query) {
58
+ // Must have at least one constraint
59
+ if ((!query.entityTypes || query.entityTypes.length === 0) &&
60
+ (!query.startEntityIds || query.startEntityIds.length === 0) &&
61
+ (!query.filters || query.filters.length === 0)) {
62
+ return err(new InvalidQueryError('Query must have at least one constraint (entityTypes, startEntityIds, or filters)'));
63
+ }
64
+ // Validate limit
65
+ if (query.limit !== undefined && query.limit <= 0) {
66
+ return err(new InvalidQueryError('Limit must be positive'));
67
+ }
68
+ // Validate offset
69
+ if (query.offset !== undefined && query.offset < 0) {
70
+ return err(new InvalidQueryError('Offset cannot be negative'));
71
+ }
72
+ // Validate traversal depth
73
+ if (query.traversal?.maxDepth !== undefined && query.traversal.maxDepth <= 0) {
74
+ return err(new InvalidQueryError('Traversal depth must be positive'));
75
+ }
76
+ return ok(undefined);
77
+ }
78
+ /**
79
+ * Get cache key for query
80
+ */
81
+ getCacheKey(query) {
82
+ return JSON.stringify({
83
+ entityTypes: query.entityTypes,
84
+ startEntityIds: query.startEntityIds,
85
+ filters: query.filters,
86
+ traversal: query.traversal,
87
+ orderBy: query.orderBy,
88
+ orderDirection: query.orderDirection,
89
+ limit: query.limit,
90
+ offset: query.offset,
91
+ });
92
+ }
93
+ /**
94
+ * Get from cache
95
+ */
96
+ getFromCache(key) {
97
+ const entry = this.cache.get(key);
98
+ if (!entry) {
99
+ return undefined;
100
+ }
101
+ // Check if expired
102
+ const age = Date.now() - entry.timestamp.getTime();
103
+ if (age > entry.ttlMs) {
104
+ this.cache.delete(key);
105
+ return undefined;
106
+ }
107
+ return entry.result;
108
+ }
109
+ /**
110
+ * Add to cache
111
+ */
112
+ addToCache(key, result, ttlMs) {
113
+ // Evict if at capacity
114
+ if (this.cache.size >= this.maxCacheSize) {
115
+ this.evictOldest();
116
+ }
117
+ this.cache.set(key, {
118
+ result,
119
+ timestamp: new Date(),
120
+ ttlMs: ttlMs ?? this.defaultCacheTtlMs,
121
+ });
122
+ }
123
+ /**
124
+ * Evict oldest cache entry
125
+ */
126
+ evictOldest() {
127
+ let oldestKey = null;
128
+ let oldestTime = Infinity;
129
+ for (const [key, entry] of this.cache) {
130
+ if (entry.timestamp.getTime() < oldestTime) {
131
+ oldestTime = entry.timestamp.getTime();
132
+ oldestKey = key;
133
+ }
134
+ }
135
+ if (oldestKey) {
136
+ this.cache.delete(oldestKey);
137
+ }
138
+ }
139
+ /**
140
+ * Invalidate cache entries
141
+ */
142
+ invalidateCache(pattern) {
143
+ if (!pattern) {
144
+ this.cache.clear();
145
+ return;
146
+ }
147
+ for (const key of this.cache.keys()) {
148
+ if (key.includes(pattern)) {
149
+ this.cache.delete(key);
150
+ }
151
+ }
152
+ }
153
+ /**
154
+ * Find entities by type
155
+ */
156
+ async findByType(entityType, shards, queryFn, options) {
157
+ const query = {
158
+ entityTypes: [entityType],
159
+ limit: options?.limit,
160
+ offset: options?.offset,
161
+ };
162
+ const result = await this.query(query, shards, queryFn);
163
+ return result.map((r) => r.entities);
164
+ }
165
+ /**
166
+ * Find entity by ID
167
+ */
168
+ async findById(entityId, shards, queryFn) {
169
+ const query = {
170
+ startEntityIds: [entityId],
171
+ limit: 1,
172
+ };
173
+ const result = await this.query(query, shards, queryFn);
174
+ return result.map((r) => r.entities[0]);
175
+ }
176
+ /**
177
+ * Find related entities
178
+ */
179
+ async findRelated(entityId, relationshipType, shards, queryFn, options) {
180
+ const query = {
181
+ startEntityIds: [entityId],
182
+ traversal: {
183
+ direction: 'outgoing',
184
+ relationshipTypes: [relationshipType],
185
+ maxDepth: options?.depth ?? 1,
186
+ },
187
+ limit: options?.limit,
188
+ };
189
+ const result = await this.query(query, shards, queryFn);
190
+ return result.map((r) => r.entities.filter((e) => e.id !== entityId));
191
+ }
192
+ /**
193
+ * Search entities
194
+ */
195
+ async search(searchQuery, shards, queryFn, options) {
196
+ const query = {
197
+ entityTypes: options?.entityTypes,
198
+ filters: [
199
+ {
200
+ field: 'name',
201
+ operator: 'contains',
202
+ value: searchQuery,
203
+ },
204
+ ],
205
+ limit: options?.limit ?? 100,
206
+ };
207
+ const result = await this.query(query, shards, queryFn);
208
+ return result.map((r) => r.entities);
209
+ }
210
+ /**
211
+ * Explain query plan
212
+ */
213
+ explain(query) {
214
+ const plan = this.planner.plan(query);
215
+ return this.planner.explain(plan);
216
+ }
217
+ /**
218
+ * Get query planner
219
+ */
220
+ getPlanner() {
221
+ return this.planner;
222
+ }
223
+ /**
224
+ * Get distributed executor
225
+ */
226
+ getExecutor() {
227
+ return this.executor;
228
+ }
229
+ /**
230
+ * Get cache statistics
231
+ */
232
+ getCacheStats() {
233
+ return {
234
+ size: this.cache.size,
235
+ maxSize: this.maxCacheSize,
236
+ };
237
+ }
238
+ /**
239
+ * Shutdown coordinator
240
+ */
241
+ async shutdown() {
242
+ this.cache.clear();
243
+ await this.executor.shutdown();
244
+ }
245
+ }
246
+ //# sourceMappingURL=QueryCoordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryCoordinator.js","sourceRoot":"","sources":["../../src/query/QueryCoordinator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAe,MAAM,YAAY,CAAC;AASlD,OAAO,EAAc,iBAAiB,EAAuB,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAqB,MAAM,0BAA0B,CAAC;AAWlF;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACV,OAAO,CAAe;IACtB,QAAQ,CAAsB;IAC9B,KAAK,GAA4B,IAAI,GAAG,EAAE,CAAC;IAC3C,YAAY,CAAS;IACrB,iBAAiB,CAAS;IAE3C,YACE,cAAsB,CAAC,EACvB,eAAuB,IAAI,EAC3B,oBAA4B,KAAK;QAEjC,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,UAAsB,EACtB,MAAgB,EAChB,OAAqB,EACrB,OAAsB;QAEtB,iBAAiB;QACjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,cAAc;QACd,IAAI,OAAO,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,aAAa;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,gBAAgB;QAChB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAElD,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE3E,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAiB;QACrC,oCAAoC;QACpC,IACE,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;YAC5D,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAC9C,CAAC;YACD,OAAO,GAAG,CACR,IAAI,iBAAiB,CACnB,mFAAmF,CACpF,CACF,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,kBAAkB;QAClB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,2BAA2B;QAC3B,IAAI,KAAK,CAAC,SAAS,EAAE,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC7E,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAiB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAW;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,mBAAmB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,GAAW,EAAE,MAAmB,EAAE,KAAc;QACjE,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,iBAAiB;SACvC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,UAAU,GAAG,QAAQ,CAAC;QAE1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;gBAC3C,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvC,SAAS,GAAG,GAAG,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAgB;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,UAAkB,EAClB,MAAgB,EAChB,OAAqB,EACrB,OAA6C;QAE7C,MAAM,KAAK,GAAe;YACxB,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,MAAgB,EAChB,OAAqB;QAErB,MAAM,KAAK,GAAe;YACxB,cAAc,EAAE,CAAC,QAAQ,CAAC;YAC1B,KAAK,EAAE,CAAC;SACT,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,gBAAwB,EACxB,MAAgB,EAChB,OAAqB,EACrB,OAA4C;QAE5C,MAAM,KAAK,GAAe;YACxB,cAAc,EAAE,CAAC,QAAQ,CAAC;YAC1B,SAAS,EAAE;gBACT,SAAS,EAAE,UAAU;gBACrB,iBAAiB,EAAE,CAAC,gBAAgB,CAAC;gBACrC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;aAC9B;YACD,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,WAAmB,EACnB,MAAgB,EAChB,OAAqB,EACrB,OAAoD;QAEpD,MAAM,KAAK,GAAe;YACxB,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,MAAM;oBACb,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,WAAW;iBACnB;aACF;YACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG;SAC7B,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAiB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,IAAI,CAAC,YAAY;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @nahisaho/yata-scale - Query Planner
3
+ *
4
+ * Generates optimized query execution plans
5
+ */
6
+ import type { GraphQuery, QueryPlan, QueryFilter, IndexType } from '../types.js';
7
+ /**
8
+ * Query plan step
9
+ */
10
+ export interface PlanStep {
11
+ readonly id: string;
12
+ readonly type: 'scan' | 'index' | 'filter' | 'join' | 'sort' | 'limit' | 'aggregate';
13
+ readonly target?: string;
14
+ readonly index?: string;
15
+ readonly filter?: QueryFilter;
16
+ readonly dependencies: string[];
17
+ readonly estimatedCost: number;
18
+ readonly estimatedRows: number;
19
+ }
20
+ /**
21
+ * Index statistics for planning
22
+ */
23
+ export interface IndexStatistics {
24
+ readonly name: string;
25
+ readonly type: IndexType;
26
+ readonly entryCount: number;
27
+ readonly selectivity: number;
28
+ }
29
+ /**
30
+ * Query planner for generating execution plans
31
+ */
32
+ export declare class QueryPlanner {
33
+ private indexStats;
34
+ constructor();
35
+ /**
36
+ * Register index statistics
37
+ */
38
+ registerIndex(stats: IndexStatistics): void;
39
+ /**
40
+ * Unregister index
41
+ */
42
+ unregisterIndex(name: string): void;
43
+ /**
44
+ * Generate query plan
45
+ */
46
+ plan(query: GraphQuery): QueryPlan;
47
+ /**
48
+ * Plan access path (scan vs index)
49
+ */
50
+ private planAccessPath;
51
+ /**
52
+ * Find best index for query
53
+ */
54
+ private findBestIndex;
55
+ /**
56
+ * Plan filter step
57
+ */
58
+ private planFilterStep;
59
+ /**
60
+ * Plan traversal step
61
+ */
62
+ private planTraversalStep;
63
+ /**
64
+ * Plan sort step
65
+ */
66
+ private planSortStep;
67
+ /**
68
+ * Plan limit step
69
+ */
70
+ private planLimitStep;
71
+ /**
72
+ * Check if plan is parallelizable
73
+ */
74
+ private isParallelizable;
75
+ /**
76
+ * Determine target shards for query
77
+ */
78
+ private determineTargetShards;
79
+ /**
80
+ * Optimize plan
81
+ */
82
+ optimize(plan: QueryPlan): QueryPlan;
83
+ /**
84
+ * Explain plan in human-readable format
85
+ */
86
+ explain(plan: QueryPlan): string;
87
+ }
88
+ //# sourceMappingURL=QueryPlanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryPlanner.d.ts","sourceRoot":"","sources":["../../src/query/QueryPlanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACV,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IACrF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAA2C;;IAI7D;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAI3C;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS;IAsDlC;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAapC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CA2BjC"}