關聯式資料庫VS 非關聯式資料庫 - 理工宅

文章推薦指數: 80 %
投票人數:10人

沒有說一定要使用關聯式或非關聯式,好的情境用對方式,就會有如虎添翼效果,例如: NoSQL情境如下: App Server 不太需要有Transcation,Ex: 銀行 ... 跳至主要內容 軟體工程是權衡取捨(Trade-off)的選擇NoSQL優勢是高效能,但犧牲資料安全性和正確性(資料不一致或直接流失掉),反之,其他SQL有各種保護的機制,但犧牲效能 SQLDatabase 比如MySQL,Oracle,MsSQL統一使用SQLcommands,來控制和操作Database遵循ACID原則,來保證交易一致性(Transcation)關聯式結構,可以使用JOIN合併資料表,搭配正規化,和反正規化增加處理能力時,運用Verticalscaling,提昇主機的CPU,Memory等等 NoSQLDatabase 比如MongoDB,Cassandra…各家有不同的API或SDK,來控制和操作Database符合CAP理論,來達到最終一致性(EventuallyConsistent)Document或Key-Value架構,資料為巢狀結構,並不需要預先定義格式增加處理能力時,運用Horizontalscaling,藉由分散式系統來擴充Node 沒有說一定要使用關聯式或非關聯式,好的情境用對方式,就會有如虎添翼效果,例如:NoSQL情境如下: AppServer不太需要有Transcation,Ex:銀行轉帳、金流交易開發初期而且需求變化很快,DBschema常常需要修改,不太好預先定義資料很短期,流失也無所謂,比如Cache,Websession高流量或高容量的場域,比如說IOT每秒會有大量的監控數據儲存和查詢 沒有必須使用的資料庫,只有適合的情境 訂閱 通知 該文章的討論通知 Label 暱稱* Email* 個人網站 Label 暱稱* Email* 個人網站 0留言 預約回饋 查看所有留言 ScrollUp Insert



請為這篇文章評分?