23
NewSQL資料庫 IoT的應用- iServDB 2016-12-15 資策會 創研所 資料庫技術組 林宗禧

2016-12-15 NewSQL資料庫在IoT的應用 - iServDB

Embed Size (px)

Citation preview

NewSQL資料庫 在IoT的應用- iServDB

2016-12-15

資策會 創研所

資料庫技術組 林宗禧

眼觀物聯網產業,您身處何處?

2

https://cbi-blog.s3.amazonaws.com/blog/wp-content/uploads/2015/05/IoT-Map.png

IoT 應用是發散的, 但 IoT 基礎架構技術是收斂的。

物聯網基礎架構 (1/3)

• Travel of data:

產生 接收 儲存 應用

3 https://www.neratec.com/tl_files/article/products-development/Internet-of-Things/IoT-Overview.png

物聯網基礎架構 (2/3)

• 資料產生

1. Sensor 部署規模

2. Sensor 資料傳輸頻率

3. Sensor 傳遞方向: 主動/被動

• 資料接收

– M2M 網路拓樸:

Sensor Gateway Server

4

http://s.radar.oreilly.com/wp-files/2/2014/07/Network-Topologies-Pic_2-2.jpg

物聯網基礎架構 (3/3)

• 資料儲存

1. 資料類型

2. 資料週期性

3. 資料總量

• 資料應用

1. trigger & action

2. reports & analysis

5

IoT 資料怎麼存 ? (1/2)

• 傳統關聯式資料庫(RDB)處理 IoT 常見問題:

1. JOIN 好慢…

2. 都已經用 O牌了,怎麼還這麼慢?

3. 硬碟滿了怎麼辦…?

4. 廠商推薦導入R架構/P架構 … 但是好貴

5. 什麼? 要追繳 License 費用!!

6

要解決問題,得先找到問題的源頭!

http://blog.gembaacademy.com/wp-content/uploads/2013/11/what-problem-are-you-trying-to-solve.png

IoT 資料怎麼存 ? (2/2)

• 在產業領域中,您可能可以

– 選擇正確的 Sensor 與 Devices

– 推導出想要的結果: Trigger / Analysis

• 但您可能無法

– 選擇適合的軟體架構

– 選擇最適資料蒐集與儲存方式

7

是否有最適解決方案 ?

https://2.bp.blogspot.com/-bzZVT8pokPE/VzkuuVH6guI/AAAAAAAABDE/99AdeYWttEoQ4y_r6mEOAyZZ-g6BQU6BQCKgB/s1600/questions.png

8

從RDB認識iServDB

• 以 PostgreSQL 作為開發基礎 – PostgreSQL 是

• 全球最先進的開源資料庫系統。

• 自1986年開始發展,由Ingres專案衍生。而從Ingres衍生的產品包含: Sybase 與 Microsoft SQL Server。

• 9 版後效能極大提升,尤其在9.5版TCP-C效能測試勝過Oracle。

• iServDB 承襲 RDB 特性 – iServDB 承襲傳統關聯式資料庫(RDB)之以下特性:

• 支援 SQL 語法:DDL, DML, DQL

• 具ACID特性,支援 Transaction。

• 其他常用語法與功能。

9

從NoSQL認識iServDB

• 什麼是 NoSQL 1. 捨棄SQL語法與RDB部分特性,換取大量儲存與效能的資料庫系統。 2. 大部分NoSQL支援分散式部署,可將資料分散儲存在多台主機中。 3. 支援分散式査詢,加快査詢速度。 4. 適合儲存大量、LOG類型的資料。 5. 支援 Scale-out 6. 較出名的NoSQL資料庫:MongoDB, Cassandra, HBase, Redis

• iServDB 整合 NoSQL

– iServDB 之 NoSQL 儲存引擎:

• DOC引擎: 文檔型儲存引擎,適合大量非關聯性、非結構化資料。

• TEM引擎: 時序型儲存引擎,適合以時間為主鍵之資料。

10

什麼是NewSQL? • NewSQL 演進

1. 傳統 SQL 資料庫系統: • OLTP需求 • Web 2.0時代LAMP/WAMP架構崛起 • 資訊大爆炸

2. NoSQL 資料庫系統: • 雲端運算 與 BigData 議題 • 捨棄SQL部分特性,提升大資料操作之效能。

3. NewSQL 資料庫系統 : • 應用於特定需求/領域,並支援傳統SQL資料庫所注重之特性(包含語

法)。

• iServDB NewSQL 著重特質 iServDB: 大量、分散式資料之整合應用服務。 iServDB HPT:超高速交易型SQL資料庫系統。 (HPT: High Performance Transaction)

11

資料分類儲存觀念

• 結構化資料 vs. 半結構化資料 vs. 非結構化資料

• 關於儲存問題:

1. 傳統 SQL 資料庫系統能否儲存非結構化資料?

2. 資料庫能存影片、音樂之類的串流資料呢?

3. 什麼樣的資料庫,適合存什麼樣的資料內容呢?

12

http://www.uh.edu/engines/ds-database-schema.gif http://service-architecture.static-barryandassociates.com/images/web_services/json_and_xml_comparison.png http://www.pinetec.com/wp-content/uploads/2015/07/pinehurst-technologies-xml-html.jpg

iServDB 簡介 (1/3)

• iServDB 包含以下特性 • 提供SQL指令,針對大量分散資料讀寫。

• 支援分散式架構,可 Scale-out 擴增節點。

• 以Table作為資料分類之儲存點,支援多種儲存引擎:

• 使用 iServDB 是一 NewSQL DB,可以 • 儲存結構化資料。

• 儲存大量半結構化、非結構化資料。

• 利用SQL指令,可將結構化與半結構化、 非結構化資料整合運算分析。

13

關聯型 傳統關聯性資料庫儲存方法,適合儲存交易頻繁且關聯性高之資料。

文檔型 每筆資料即一個文檔,適合用於儲存大量文字或紀錄檔。

時序型* 依時間為主要査詢鍵値,適合機器紀錄的儲存與査詢。

寬欄型* 資料表中各欄位獨立儲存,適合單一欄位進行大量函式運算。

快取型* 以記憶體作為主要儲存,加快讀寫效率。

索引型* 以大量査詢為主要儲存目的,適合大量報表分析或資料預處理。

iServDB 簡介 (2/3)

• 分散式架構特色

1. 使用 Shared Nothing (SN) 架構

2. 使用 Sharding 技術

3. 支持 Scale-Out 技術

14

Data Node

Manager Node

REL

Manager Node

Manager Node

…. Manager

Node

Data Node

REL

Data Node

DOC

Data Node

DOC

Data Node

DOC

AP AP … AP

(A, B) (B, C) (C, A)

New Node

iServDB 簡介 (3/3)

• iServDB 分散式架構優勢

1. Auto-rebuild 高可用

• 資料不遺失

• 更新節點不用停機

2. 高移轉性

• 資料可無痛移轉 – MongoDB

– PostgreSQL

15

特性1: 單節點失效,不遺失資料。 特性2: 替換新主機 即可自動重建 正、複本資料 與節點服務。

Old Shard #2 Shard #1 Shard #3

New Shard #2

iServDB IoT 關鍵特性 (1/5)

• Open Data 特性 – iServDB 快速介接特性

• 快速介接 Open Data、 RESTful API

• 外部資料跟企業內部資料整合運算

– iServDB 快速開發介面 • 提供 python 開發介面

• 可介接任何網路服務、專業系統所提供之之 API 。

• 專業系統介接上iServDB,可使用 SQL 進行査詢運算 – SELECT

– INSERT

– UPDATE

– DELETE

16

iServDB IoT 關鍵特性 (2/5)

• 支援多種開發語言 1. 支援29種資料連結器

• C, Perl, Java(JDBC), Lua, .NET, Julia, Node.js, OLEDB, ODBC, Python, Tcl, PHP, LISP, Go …

• 共有29種開源與商用開發之資料連結介面。

2. 提供 Stored Procedure 與 Trigger • 有多種過程語言可使用,協助快速開發資料庫內部程序

與觸發功能 – PL/pgSQL

– PL/Tcl

– PL/Perl

– PL/Python

17

iServDB IoT 關鍵特性 (3/5)

• IoT與工業4.0方案

– iServDB Temporal Engine

1. 為IoT 與工業4.0專用儲存方案

2. 適合以時間作為主鍵之資料

3. 以資料時序性特質儲存

4. 提供資料節點可擴展性

5. 加速資料分析時的運算效率

–快速介接 IoT Sensor

1. 可快速介接所有資料源

2. 讓在資料 Pipeline 中即時運算

18

iServDB IoT 關鍵特性 (4/5)

• 統計分析與大數據

– iServDB支援第三方軟體輕鬆連接

1. 資料操作軟體,如:Navicat

2. 統計分析語言,如:開源的R語言、MADlib

3. 商用BI軟體,如:TIBCO與Tableau…等

19

iServDB IoT 關鍵特性 (5/5)

• 資策會團隊技術支援

– 資策會創研所 iServCloud 團隊

– 開源技服中心

20

資策會創研所研發企業專用雲端整合服務iServCloud,包含iServDC虛擬化技術,以及iServDB分散式資料庫系統。本團隊專注於大型系統、以及Open Source的維運與開發,累積多年經驗、並掌握最新資訊技術。

2016年資策會成立「開源技服中心」,結合資服業、學術、社群三方,提供開源資料庫系統之相關技術服務。iServDB即由開源資料庫系統PostgreSQL之核心開發,因 此 將 可 由 「 開 源 資 料 庫 技 服 中 心 」 訂 閱 服 務 得 到iServDB之長期技術支援。

眼觀物聯網產業,您身處何處?

21

https://cbi-blog.s3.amazonaws.com/blog/wp-content/uploads/2015/05/IoT-Map.png

有 做技術基石,幫您站得更穩更牢固

22

23

THANK YOU