7 पॉइंट द्वारा xguru 2020-11-28 | 6 टिप्पणियां | WhatsApp पर शेयर करें
  • SQLite के Generated Columns और JSON से जुड़ी functions का इस्तेमाल करके इसे Document DB की तरह उपयोग करने का तरीका

  • GENERATED ALWAYS और json_extract का संयोजन

CREATE TABLE t ( body TEXT, d INT GENERATED ALWAYS AS (json_extract(body, '$.d')) VIRTUAL);

INSERT INTO t VALUES(json('{"d":"42"}'));

SELECT * FROM t WHERE d = 42;

{"d":"42"}|42

6 टिप्पणियां

 
nicewook 2020-11-30

क्या इसे इस तरह भी इस्तेमाल किया जा सकता है? लगता है कि RDBMS के फ़ायदे लेते हुए भी छोटे-मोटे field addition और changes के लिए NoSQL जैसी scalability लाई जा सकती है।

  1. फिलहाल SQLite का उपयोग करें.

  2. जब fields जोड़ने की ज़रूरत हो, तो इसे इस तरह document DB की तरह उपयोग करें.

 
galadbran 2020-11-30

हो सकता है कि यह बताए गए generated column जैसा बिल्कुल न हो, लेकिन PostgreSQL और MySQL में भी पहले से JSON type column और उस type के लिए query उपलब्ध हैं, इसलिए इन्हें भी लगभग इसी तरह इस्तेमाल किया जा सकता है।

 
xguru 2020-11-30

जैसा आपने कहा, ऐसा लगता है कि इसे custom user fields जोड़ने जैसी चीज़ों के लिए इस्तेमाल किया जा सकता है।

 
ffdd270 2020-11-29

हम्म.. क्या Document DB में SQLite की तरह embedded target के लिए आया हुआ कोई DB नहीं है? SQLite की जड़ ही SQL है, इसलिए थोड़ा बोझिल लगता है OTL. MongoDB का कोई Lite version, जैसे MangoDB वगैरह (...)

 
xguru 2020-11-30

सिर्फ़ simple key-value इस्तेमाल के लिए RocksDB https://github.com/facebook/rocksdb

और जैसा आपने कहा, document DB के लिए UnQLite https://unqlite.org/

लगभग यही तेज़ हैं और इस्तेमाल में आसान माने जाते हैं।

 
ffdd270 2020-12-01

ओह, धन्यवाद। अब लगता है SQLite के अलावा इन्हें भी एक-एक बार आज़माना पड़ेगा।