Document database backed by keyvalue storage P&L: -7 (≃ -12600 JPY)
I am interested in database technology and distributed systems.
I have an experimental python project which is less than 1000 lines and supports basic SQL and SQL inner joins and basic Cypher graph database queries and keyvalue storage. There is no persistence layer.
On the linked website page from this project which is GitHub issues I am talking how I plan to implement document storage so that JSON documents can be mapped to individual keys and joined with SQL queries.
この問題の残りの部分に数時間を費やし、ドキュメントの保存が完了した後、ドキュメントの取得が機能するようになりました。
これにより、JSON ドキュメントを保存および取得できます
挿入されたドキュメント データは、SQL でクエリすることもできます。
ドキュメントに対する結合はまだサポートされていませんが、これを実装する予定です。
I spent a few hours working on the remainder of this problem and got documnent retrieval working after finishing save document.
This lets you save and retrieve JSON documents
The document data inserted is also queryable by SQL.
Joins against documents are not yet supported but I plan to implement this.
JSON ドキュメントを保存し、SQL インサータを使用してドキュメントを挿入しました。理論的には、オブジェクトは SQL でクエリ可能です
{
"アイテム": [("名前": "アイテム1"), ("名前": "アイテム2")],
"subobject": {"subobject_key": "value"} }
I managed to store a JSON document and I used the SQL inserter to insert the document. In theory the object is queryable by SQL
{ "items": [("name": "item1"), ("name": "item2")], "subobject": {"subobject_key": "value"} }
⬜️ JSON ドキュメントを数字にマッピングする必要があるため、「document id 0 hobbies[0].name=sam」は 0@0.0=sam になります。これにより、数字の間のキーの範囲をスキャンすることで効率的な検索が可能になります。 ⬜️数字をフィールド名に戻すコードを書く必要がある ⬜️キースペース オプティマイザーを統合する必要があります。たとえば、ドキュメント 0 = {"hobbies":{("name": "God"),{"name": "databases"), {" name": "computers")}) hobbies が 0、name が 1 で、3 つのリスト項目 0、1、2 がある場合、同じ種類のすべてのリスト インデックスを並べ替え反復子で隣接させたいので、それらを反転させます。最後まで 0@0[1]="God" は 0@1.0, 0@1.1 0@1.2 になります ⬜️ SQL 結合に使用するキー値を作成する必要がある ⬜️ JSON ドキュメントで期待される結合を定義するドキュメントを作成する必要がある
⬜️ need to map a JSON document to numbers so "document id 0 hobbies[0].name=sam" becomes 0@0.1=sam" this allows for efficient retrievals by scanning a range of keys between numbers. ⬜️need to write code to turn numbers back into field names ⬜️need to integrate keyspace optimiser, as we reorder numbers for efficiency of joins across lists for example document 0 = {"hobbies":{("name": "God"),{"name": "databases"), {"name": "computers")}) hobbies might be 0, name might be 1 and we have 3 list items 0, 1, 2 we want all list indexes of the same kind to be adjacent in the sort iterator, so we flip them to the end so 0@0[1]="God" becomes 0@1.0, 0@1.1 0@1.2 ⬜️ need to create keyvalues for what is used for SQL joins ⬜️ need to create a document which defines the joins that people expect to do on a JSON document
私は現在設計段階にあります。構造化結合とコレクションの一致するキーを効率的にスキャンするための効率的なアプローチを探しています。
I am currently in design phase. I am looking for an efficient approach to structured joins and scanning matching keys of collections efficiently.
プロジェクトを始めてくれてありがとう、[時系列]!とても興味深い。実装とコードについてのあなたの考えを深く掘り下げます。おそらく、関連技術に興味を持っている、または取り組んでいる人々をここに招待することもできます。
Great you starting a project, [chronological]! Very interesting. I'll have a deep dive into your thoughts of implementation and code. Perhaps we can also invite here people interested or working on related technology.