![](/img/trans.png)
[英]what is return data type of JSON.stringify() and how we can fetch data on server-side?
[英]What are the drawbacks to a JSON server-side data storage file?
我在尋找替代的數據存儲方法,SQL( 也就是說,我不想使用SQL,甚至查詢 )和跨基於JSON幾個來了。 與做數據庫工作的朋友交談,他們說我不應該考慮這些,但不會詳細說明。 使用JSON作為數據存儲文件格式有 哪些潛在的 (和實際的) 缺點 ?
由於以下原因,我認為JSON比SQL 更好 :
其中......
JSON或JavaScript Object Notation是一種開放標准格式,它使用人類可讀的文本來傳輸由屬性 - 值對組成的數據對象。 它主要用於在服務器和Web應用程序之間傳輸數據,作為XML的替代方案。
您更關注數據庫與平面文件存儲之間的比較。
我想你可能想看看NO-SQL數據庫: https : //en.wikipedia.org/wiki/NoSQL
如果您喜歡使用類似JSON的數據,那么我個人使用的是MongoDB。
我沒有將它用作我的應用數據的主要/單一來源,但僅用於次要目的。 但是,我想,您也可以嘗試將其用作主要數據存儲(我想很多人都這樣做)。
我嘗試過並且非常令人滿意的是使用C#的MongoDB並使用MongoVue作為GUI應用程序來執行查詢和與DB的交互。 我對MongoVUE不是很滿意,但它似乎是當時最好的選擇。
但是,SQL DB非常擅長定義數據中的關系。 例如,從表B上的條目引用表A上的條目,以及那種東西。 使用這些關系,您可以連接表並執行許多有趣的事情。 我想,你也可以在這個領域獲得一些經驗。
MongoDB不是為定義關系而構建的(據我所知)。 它具有“文檔”的概念,您可以使用JSON格式(使用嵌套鍵/值)存儲信息。 您可以查詢文檔,但加入似乎就像正常使用方式一樣: 如何在MongoDB中執行SQL Join等效操作? 此外,在MongoDB中使用關系時,確保數據一致性(以真正可靠的方式)對我來說似乎是不可能的。 但即使我錯了也有可能,實現它比使用SQL DB要困難10倍。
但是您可以查看WikiPedia中的列表,並且可能有比MongoDB更好的替代方案。
但是你可以使用純JSON而不使用DB系統。
因此,總之類似JSON的存儲(至少)存在以下問題:
即使使用關系數據庫,數據完整性(或參照完整性)仍然很難,因為行通常帶有時間戳。 通常,外鍵不會因此而強制執行。 當發生行更新時,您有2個選擇。 首先,'忘記'以前的版本。 其次,更新原始行並將先前版本復制到帶時間戳的“非關系”歷史表中,其中外鍵無效。 大多數業務數據需要更新。 用於維護關系數據庫中的引用完整性的功能對於此類業務數據(代表大多數企業數據)是無用的。 所需要的是時間數據庫或抽象層,其基於時間上下文向用戶呈現行的適當版本。 理想情況下,在2個維度,即交易時間和業務時間(也稱為有效時間)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.