NoSQL/ Key-Value Database

管理資訊系統系列
MIS
個案研究
什麼是MIS?
MIS的規畫目標與內容
MIS的規畫程序
SA
MIS系統分析與設計
  統雄1-2-3-4簡則
MIS競爭者分析
MIS需求分析
MIS可行性分析
MIS系統實作分析
  作業流程分析
  輸出入分析
  資料庫分析
  軟硬體分析
MIS分析工具UML塑模圖
MISPM
MIS專案管理
系統開發進度管理
DSS/KM/PD
DSS決策援系統
知識管理系統
知識管理與決策參數庫
NoSQL/Key-Value
非關聯式資料庫
Web Development
網路系統開發實作系列

如果你不想讀700頁的教科書,才知道什麼是MIS,本系列講義可以讓你立刻認識「MIS 管理資訊系統」的目標、開發方法、實務應用,提供「TX 1-2-3-4簡則」作為「系統分析與設計(SA&D)」最簡明的指導,特別適合中小型系統之開發與分析。

並隨時更新最新發展,如UML, NoSQL資料庫, 決策支援, 決策參數庫, 知識管理, 與大數據數位分析...等。

NoSQL/Key-Value 資料庫是網路興起後,資料庫設計與查詢的新方法,也可以說是關聯式資料庫的一種反動。

NoSQL/Key-Value 資料庫的 2 大特色是:

NoSQL 非關聯式查詢

所有關聯式資料庫的通用查詢語言是SQL,所以 NoSQL 就表示不用關聯式資料庫的結構、表格分析設計法、與根據主鍵(primary keys)的查詢,故也可稱為「非關聯式資料庫」。

Key-Value Stores 「鍵-值」資料儲存法

採用只有 2 欄,稱為雜湊表( Hash table ,大陸譯為哈希表 )的方式儲存。1欄是關鍵字 (Key),另1欄是值 (Value),作為查詢的資料結構 。

這種方法可以通過把鍵值通過一個函數的計算, 映射到表中一個位置來查詢記錄,這加快了查找速度。 這個映射函數稱做雜湊函數 ,存放記錄的表格稱做雜湊表 。

NoSQL/Key-Value 資料庫興起原因

NoSQL/Key-Value 資料庫的興起源於網路發展,產生的新挑戰與回應:

網路興起帶動了巨量資料(Big Data)現象

外在的需求變動挑戰:網路興起帶動了巨量資料現象,即所謂「Big Data」,又譯為海量資料、大數據,指的是資料量規模巨大到無法在合理時間內達到擷取、管理、處理、並整理成為人類所能解讀的資訊。

網路行為使得傳統的「資料」定義為之改觀,搜尋、輸入、交易的網址與時間…都是「資料」。而且經過「資料探勘」篩選、整理、分析,有可能用於幫助企業經營決策,引導開發更多的消費力量或其他網路使用行為。

巨量資料的常見特點是4V:Volume、Velocity、Variety、Veracity(資料量大、輸入和處理速度快、資料多樣性、真實性),使得資料處理除了業務量巨量加重之外,還有資料品質的問題。

資料可擴展性(scalability)要求升高

內在的資訊技術能力挑戰:尤其是資料可擴展性(scalability, 同 expandability),這原來是資料處理技術的專業名詞,指有關業務量的擴展問題。

從使用者的立場,統雄老師建議:資料可擴展性(scalability)就是在業務量增大時,系統仍然能夠:區分緩急、靈活應對;分配資源、適時服務。

資料可擴展性 scalability 在技術上的處理項目包括:支持大量域(Support of large number of domains),支持大量呼叫(Ability to handle large number of calls)與呼叫狀態(call states),管理狀態中的元素(Elements that must maintain states) ,信號訊息處理(Signaling message processing),與會方數量、集中還是分佈的交談控制(Conference sizes, conference control (centralized vs. distributed)),以及分散式的呼叫信號 DCS(Distributed Call Signaling)。

注意,文獻上另有 extensibility 一詞,是指設備上的硬體效能與軟體版本的「可升級性」,勿產生混淆。

關聯式查詢相對緩慢、效益相對低

網路新資料不斷產生,但關聯式資料庫的設計與表格分析,從本文前篇:MIS 管理資訊系統系統分析與設計的介述,可知在「資料結構」設計上是十分費工的,使得源源湧入的資料無法及時反應,可擴展性低。造成傳統關聯式查詢查詢相對緩慢、效益相對低。

回應方案:演化?還是革命?

在這種業務壓力要求下,各機構與研究者,開始尋找解決方案。當發現無法讓關聯式資料庫演化(evolution)後,開始有了革命(revolution)的構想,向關聯式資料庫「說 No」的替代方案。

NoSQL一詞最早出現於1998年,是Carlo Strozzi開發的一個輕量、開源、不提供SQL功能的資料庫。
2009年,Rackspace 的Eric Evans 再次提出了NoSQL的概念,同時建立了「非關聯式資料庫」設計模式。同年在亞特蘭大舉行的 "no:sql(east)" 討論會形成了實務應用的里程碑,其口號是"select fun, profit from real_world where relational=false;"。

而大型網路組織如 Google的 GoogleAppEngine,Amazon的 smipleDB,陸續採用NoSQL/Key-Value 模式,開創了當前最新的熱門潮流。

NoSQL/Key-Value 資料庫範例與比較

「關聯式資料庫」的表格是多欄式,以每筆資料為列,範例如下。

其中「編號」,就是至少要有1個「主鍵」。

關聯式資料庫之資料表

編號 Last name First name age height color
1923 Smith Jim 18 6' 0" Red
3371 Dole Jun 34 5'8" Brackish

 

NoSQL/Key-Value 資料庫的表格只有 2 欄、沒有「主鍵」,每筆資料不一定只有1列,同筆資料可以不只1個鍵 (key)名,範例如下。

「關聯式資料庫」的欄位必須要定義「資料格式」,如字串、整數、實數(含小數)、貨幣、日期…等,而NoSQL/Key-Value 不必定義,還包括「資料格式」設定、系統訊息、資料位址、…什麼都可以,而且,沒有順序問題,可以有空白格,也就是沒有「資料結構」問題。

NoSQL資料庫之資料表

user1923_color    Red
user1923_age 1   18
user3371_color    Blue
user3371_color    Brackish
user1923_height    6' 0"
user3371_age    34
app_setting_width    450
error_msg_457    There is no file %1 here
error_message_1    There is no user with %1 name
1923_name    Jim
user1923_name    Jim Smith
user1923_lname    Smith
Application_Installed    true
log_errors    1
install_path    C:\Windows\System32\Restricted
ServerName    localhost
test    test

 

NoSQL/Key-Value 資料庫相關技術

NoSQL/Key-Value 資料庫相關同時配合應用的技術,包括如下。

API 查詢

由於不使用SQL語言,各種查詢必須由各種應用的開發者,自訂API查詢。

雲端應用

雲存儲存就是構建一個大型的存儲平台給別人用,這也就意味著在這上面運行的應用其實是不可控制的,也就是可擴展性(scalability)需求高,在這種情況 下,NoSQL/Key-Value 就是唯一的選擇了。

快取儲存

NoSQL/Key-Value 就是要求快,所以熱門資料,會經分析後儲存到快取記憶體,更增加查詢效率。

NoSQL/Key-Value 資料庫的現況與未來

NoSQL/Key-Value 資料庫目前已經商業化,較知名的有:Apache Cassandra, Redis, Aerospike, BigTable...等。

雖然有人認為 NoSQL/Key-Value 已成趨勢,甚至可能壓倒「關聯式資料庫」。較持平的評論,認為兩者實有市場區隔,NoSQL/Key-Value 適用巨量網站,而「關聯式資料庫」還是較適合一般機構的管理資訊系統。

回頁首 Up to page head 至頁尾 Down to page bottom
上一頁 Back to previous page 回頁首 Up to page head 下一頁 Go to nex page
 
請點這裡看所有留言分類 Please click here to view categories of comments
同類別內相關主題

上層主題

資訊管理的定位與發展
國際資訊管理教育變遷
資訊管理的定位與發展
大考中心對資訊管理系的介紹
資訊系統主題發展圖
資訊系統分析與設計
MIS:管理資訊系統
MIS:系統分析與設計_SA&D
MIS競爭者分析 Competitors Analysis
作業流程圖範例
UML:統一塑模語言與流程圖
MIS專案管理_MIS 管理資訊系統3 MIS Project Management, MISPM Canon
MIS專案進度管理甘梯圖_MIS Project Scheduling Management, Gantt Chart
DSS:決策支援系統
KM:知識管理
知識管理決策參數庫
NoSQL 非關聯式資料庫 NoSQL/Key-Value Database
程式分析與設計
PIS 小測驗
資訊管理-題庫 上層主題
管理學‧經濟學‧資訊社會
管理學快詮新辨:管理學‧經濟學‧人類行為學 1
經濟學快詮新辨:管理學‧經濟學‧人類行為學 2
貨幣主義快詮新辨:管理學‧經濟學‧人類行為學 3
經濟學的快詮與新辨: 兼及林則徐的富後論
大慧調查法:群體決策與小團體溝通的組織管理技術 Delphi Survey: Group Decision Making
火種教學法:管理人格教育的新嘗試與小挫折 Sparks Teaching Method
Innovation of IT 資訊系統導入課題-歡迎合作研究
Computer Fear Syndrome: Adoption of Information Systems 電腦恐懼症:資訊系統導入的管理課題
Innovation in New Technology- deployment of information systems
組織管理與資訊系統
行銷管理與資訊系統
展銷企畫案範本
業務管理與資訊系統
財務管理與資訊系統
資訊系統對促進社會公平的應用:以大學甄選入學為例的研究