新一代資料庫
① 2019數據架構選型必讀:1月資料庫產品技術解析
本期目錄
DB-Engines資料庫排行榜
新聞快訊
一、RDBMS家族
二、Nosql家族
三、NewSQL家族
四、時間序列
五、大數據生態圈
六、國產資料庫概覽
七、雲資料庫
八、推出dbaplus Newsletter的想法
九、感謝名單
為方便閱讀、重點呈現,本期Newsletter(2019年1月)將對各個板塊的內容進行精簡。需要閱讀全文的同學可點擊文末 【閱讀原文】 或登錄https://pan..com/s/13BgipbaHeMfvm0YPtiYviA
DB-Engines資料庫排行榜
以下取自2019年1月的數據,具體信息可以參考http://db-engines.com/en/ranking/,數據僅供參考。
DB-Engines排名的數據依據5個不同的因素:
新聞快訊
1、2018年9月24日,微軟公布了SQL Server2019預覽版,SQL Server 2019將結合Spark創建統一數據平台。
2、2018年10月5日,ElasticSearch在美國紐約證券交易所上市。
3、亞馬遜放棄甲骨文資料庫軟體,導致最大倉庫之一在黃金時段宕機。受此消息影響,亞馬遜盤前股價小幅跳水,跌超2%。
4、2018年10月31日,Percona發布了Percona Server 8.0 RC版本,發布對MongoDB 4.0的支持,發布對XtraBackup測試第二個版本。
5、2018年10月31日,Gartner陸續發布了2018年的資料庫系列報告,包括《資料庫魔力象限》、《資料庫核心能力》以及《資料庫推薦報告》。
今年的總上榜資料庫產品達到了5家,分別來自:阿里雲,華為,巨杉資料庫,騰訊雲,星環 科技 。其中阿里雲和巨杉資料庫已經連續兩年入選。
6、2018年11月初,Neo4j宣布完成E輪8000萬美元融資。11月15日,Neo4j宣布企業版徹底閉源:
7、2019年1月8日,阿里巴巴以1.033億美元(9000萬歐元)的價格收購了Apache Flink商業公司DataArtisans。
8、2019年1月11日早間消息,亞馬遜宣布推出雲資料庫軟體,亞馬遜和MongoDB將會直接競爭。
RDBMS家族
Oracle 發布18.3版本
2018年7月,Oracle Database 18.3通用版開始提供下載。我們可以將Oracle Database 18c視為採用之前發布模式的Oracle Database 12c第2版的第一個補丁集。未來,客戶將不再需要等待多年才能用上最新版Oracle資料庫,而是每年都可以期待新資料庫特性和增強。Database 19c將於2019年Q1率先在Oracle cloud上發布雲版本。
Oracle Database 18c及19c部分關鍵功能:
1、性能
2、多租戶,大量功能增強及改進,大幅節省成本和提高敏捷性
3、高可用
4、數據倉庫和大數據
MySQL發布8.0.13版本
1、賬戶管理
經過配置,修改密碼時,必須帶上原密碼。在之前的版本,用戶登錄之後,就可以修改自己的密碼。這種方式存在一定安全風險。比如用戶登錄上資料庫後,中途離開一段時間,那麼非法用戶可能會修改密碼。由參數password_require_current控制。
2、配置
Innodb表必須有主鍵。在用戶沒有指定主鍵時,系統會生成一個默認的主鍵。但是在主從復制的場景下,默認的主鍵,會對叢庫應用速度帶來致命的影響。如果設置sql_require_primary_key,那麼資料庫會強制用戶在創建表、修改表時,加上主鍵。
3、欄位默認值
BLOB、TEXT、GEOMETRY和JSON欄位可以指定默認值了。
4、優化器
1)Skip Scan
非前綴索引也可以用了。
之前的版本,任何沒有帶上f1欄位的查詢,都沒法使用索引。在新的版本中,它可以忽略前面的欄位,讓這個查詢使用到索引。其實現原理就是把(f1 = 1 AND f2 > 40) 和(f1 = 2 AND f2 > 40)的查詢結果合並。
2)函數索引
之前版本只能基於某個列或者多個列加索引,但是不允許在上面做計算,如今這個限制消除了。
5、SQL語法
GROUP BY ASC和GROUP BY DESC語法已經被廢棄,要想達到類似的效果,請使用GROUP BY ORDER BY ASC和GROUP BY ORDER BY DESC。
6、功能變化
1)設置用戶變數,請使用SET語句
如下類型語句將要被廢棄SELECT @var, @var:=@var+1。
2)新增innodb_fsync_threshold
該變數是控制文件刷新到磁碟的速率,防止磁碟在短時間內飽和。
3)新增會話級臨時表空間
在以往的版本中,當執行SQL時,產生的臨時表都在全局表空間ibtmp1中,及時執行結束,臨時表被釋放,空間不會被回收。新版本中,會為session從臨時表空間池中分配一個臨時表空間,當連接斷開時,臨時表空間的磁碟空間被回收。
4)在線切換Group Replication的狀態
5)新增了group_replication_member_expel_timeout
之前,如果某個節點被懷疑有問題,在5秒檢測期結束之後,那麼就直接被驅逐出這個集群。即使該節點恢復正常時,也不會再被加入集群。那麼,瞬時的故障,會把某些節點驅逐出集群。
group_replication_member_expel_timeout讓管理員能更好的依據自身的場景,做出最合適的配置(建議配置時間小於一個小時)。
MariaDB 10.3版本功能展示
1、MariaDB 10.3支持update多表ORDER BY and LIMIT
1)update連表更新,limit語句
update t1 join t2 on t1.id=t2.id set t1.name='hechunyang' limit 3;
MySQL 8.0直接報錯
MariaDB 10.3更新成功
2)update連表更新,ORDER BY and LIMIT語句
update t1 join t2 on t1.id=t2.id set t1.name='HEchunyang' order by t1.id DESC limit 3;
MySQL 8.0直接報錯
MariaDB 10.3更新成功
參考:
https://jira.mariadb.org/browse/MDEV-13911
2、MariaDB10.3增補AliSQL補丁——安全執行Online DDL
Online DDL從名字上看很容易誤導新手,以為不論什麼情況,修改表結構都不會鎖表,理想很豐滿,現實很骨感,注意這個坑!
有以下兩種情況執行DDL操作會鎖表的,Waiting for table metadata lock(元數據表鎖):
針對第二種情況,MariaDB10.3增補AliSQL補丁-DDL FAST FAIL,讓其DDL操作快速失敗。
例:
如果線上有某個慢SQL對該表進行操作,可以使用WAIT n(以秒為單位設置等待)或NOWAIT在語句中顯式設置鎖等待超時,在這種情況下,如果無法獲取鎖,語句將立即失敗。 WAIT 0相當於NOWAIT。
參考:
https://jira.mariadb.org/browse/MDEV-11388
3、MariaDB Window Functions窗口函數分組取TOP N記錄
窗口函數在MariaDB10.2版本里實現,其簡化了復雜SQL的撰寫,提高了可讀性。
參考:
https://mariadb.com/kb/en/library/window-functions-overview/
Percona Server發布8.0 GA版本
2018年12月21日,Percona發布了Percona Server 8.0 GA版本。
在支持MySQL8.0社區的基礎版上,Percona Server for MySQL 8.0版本中帶來了許多新功能:
1、安全性和合規性
2、性能和可擴展性
3、可觀察性和可用性
Percona Server for MySQL 8.0中將要被廢用功能:
Percona Server for MySQL 8.0中刪除的功能:
RocksDB發布V5.17.2版本
2018年10月24日,RocksDB發布V5.17.2版本。
RocksDB是Facebook在LevelDB基礎上用C++寫的高效內嵌式K/V存儲引擎。相比LevelDB,RocksDB提供了Column-Family,TTL,Transaction,Merge等方面的支持。目前MyRocks,TiKV等底層的存儲都是基於RocksDB來構建。
PostgreSQL發布11版本
2018年10月18日,PostgreSQL 11發布。
1、PostgreSQL 11的重大增強
2、PostgreSQL 插件動態
1)分布式插件citus發布 8.1
citus是PostgreSQL的一款sharding插件,目前國內蘇寧、鐵總、探探有較大量使用案例。
https://github.com/citusdata/citus
2)地理信息插件postgis發布2.5.1
PostGIS是專業的時空資料庫插件,在測繪、航天、氣象、地震、國土資源、地圖等時空專業領域應用廣泛。同時在互聯網行業也得到了對GIS有性能、功能深度要求的客戶青睞,比如共享出行、外賣等客戶。
http://postgis.net/
3)時序插件timescale發布1.1.1
timescale是PostgreSQL的一款時序資料庫插件,在IoT行業中有非常好的應用。github star數目前有5000多,是一個非常火爆的插件。
https://github.com/timescale/timescaledb
4)流計算插件 pipelinedb 正式插件化
Pipelinedb是PostgreSQL的一款流計算插件,使用這個創建可以對高速寫入的數據進行實時根據定義的聚合規則進行聚合(支持概率計算),實時根據定義的規則觸發事件(支持事件處理函數的自定義)。可用於IoT,監控,FEED實時計算等場景。
https://github.com/pipelinedb/pipelinedb
3、PostgreSQL衍生開源產品動態
1)agensgraph發布 2.0.0版本
agensgraph是兼容PostgreSQL、opencypher的專業圖資料庫,適合圖式關系的管理。
https://github.com/bitnine-oss/agensgraph
2)gpdb發布5.15
gpdb是兼容PostgreSQL的mpp資料庫,適合OLAP場景。近兩年,gpdb一直在追趕PostgreSQL的社區版本,預計很快會追上10的PostgreSQL,在TP方面的性能也會得到顯著提升。
https://github.com/greenplum-db/gpdb
3)antdb發布3.2
antdb是以Postgres-XC為基礎開發的一款PostgreSQL sharding資料庫,亞信主導開發,開源,目前主要服務於亞信自有客戶。
https://github.com/ADBSQL/AntDB
4)遷移工具MTK發布52版本
MTK是EDB提供的可以將Oracle、PostgreSQL、MySQL、MSSQL、Sybase資料庫遷移到PostgreSQL, PPAS的產品,遷移速度可以達到100萬行/s以上。
https://github.com/digoal/blog/blob/master/201812/20181226_01.md
DB2發布 11.1.4.4版本
DB2最新發布Mod Pack 4 and Fix Pack 4,包含以下幾方面的改動及增強:
1、性能
2、高可用
3、管理視圖
4、應用開發方面
5、聯邦功能
6、pureScale
NoSQL家族
Redis發布5.0.3版本
MongoDB升級更新MongoDB Mobile和MongoDB Stitch
2018年11月21日,MongoDB升級更新MongoDB Mobile和MongoDB Stitch,助力開發人員提升工作效率。
MongoDB 公司日前發布了多項新產品功能,旨在更好地幫助開發人員在世界各地管理數據。通過利用存儲在移動設備和後台資料庫的數據之間的實時、自動的同步特性,MongoDB Mobile通用版本助力開發人員構建更快捷、反應更迅速的應用程序。此前,這只能通過在移動應用內部安裝一個可供選擇或限定功能的資料庫來實現。
MongoDB Mobile在為客戶提供隨處運行的自由度方面更進了一步。用戶在iOS和安卓終端設備上可擁有MongoDB所有功能,將網路邊界擴展到其物聯網資產范疇。應用系統還可以使用MongoDB Stitch的軟體開發包訪問移動客戶端或後台數據,幫助開發人員通過他們希望的任意方式查詢移動終端數據和物聯網數據,包括本地讀寫、本地JSON存儲、索引和聚合。通過Stitch移動同步功能(現可提供beta版),用戶可以自動對保存在本地的數據以及後台資料庫的數據進行同步。
本期新秀:Cassandra發布3.11.3版本
2018年8月11日,Cassandra發布正式版3.11.3。
Apache Cassandra是一款開源分布式NoSQL資料庫系統,使用了基於Google BigTable的數據模型,與面向行(row)的傳統關系型資料庫或鍵值存儲key-value資料庫不同,Cassandra使用的是寬列存儲模型(Wide Column Stores)。與BigTable和其模仿者HBase不同,數據並不存儲在分布式文件系統如GFS或HDFS中,而是直接存於本地。
Cassandra的系統架構與Amazon DynamoDB類似,是基於一致性哈希的完全P2P架構,每行數據通過哈希來決定應該存在哪個或哪些節點中。集群沒有master的概念,所有節點都是同樣的角色,徹底避免了整個系統的單點問題導致的不穩定性,集群間的狀態同步通過Gossip協議來進行P2P的通信。
3.11.3版本的一些bug fix和改進:
NewSQL家族
TiDB 發布2.1.2版本
2018 年 12 月 22 日,TiDB 發布 2.1.2 版,TiDB-Ansible 相應發布 2.1.2 版本。該版本在 2.1.1 版的基礎上,對系統兼容性、穩定性做出了改進。
TiDB 是一款定位於在線事務處理/在線分析處理( HTAP: Hybrid Transactional/Analytical Processing)的融合型資料庫產品。除了底層的 RocksDB 存儲引擎之外,分布式SQL層、分布式KV存儲引擎(TiKV)完全自主設計和研發。
TiDB 完全開源,兼容MySQL協議和語法,可以簡單理解為一個可以無限水平擴展的MySQL,並且提供分布式事務、跨節點 JOIN、吞吐和存儲容量水平擴展、故障自恢復、高可用等優異的特性;對業務沒有任何侵入性,簡化開發,利於維護和平滑遷移。
TiDB:
PD:
TiKV:
Tools:
1)TiDB-Lightning
2)TiDB-Binlog
EsgynDB發布R2.5版本
2018年12月22日,EsgynDB R2.5版本正式發布。
作為企業級產品,EsgynDB 2.5向前邁進了一大步,它擁有以下功能和改進:
CockroachDB發布2.1版本
2018年10月30日,CockroachDB正式發布2.1版本,其新增特性如下:
新增企業級特性:
新增SQL特性:
新增內核特性:
Admin UI增強:
時間序列
本期新秀:TimescaleDB發布1.0版本
10月底,TimescaleDB 1.0宣布正式推出,官方表示該版本已可用於生產環境,支持完整SQL和擴展。
TimescaleDB是基於PostgreSQL資料庫開發的一款時序資料庫,以插件化的形式打包提供,隨著PostgreSQL的版本升級而升級,不會因為另立分支帶來麻煩。
TimescaleDB架構:
數據自動按時間和空間分片(chunk)
更新亮點:
https://github.com/timescale/timescaledb/releases/tag/1.0.0
大數據生態圈
Hadoop發布2.9.2版本
2018年11月中旬,Hadoop在2.9分支上發布了新的2.9.2版本,該版本進行了204個大大小小的變更,主要變更如下:
Greenplum 發布5.15版本
Greenplum最新的5.15版本中發布了流式數據載入工具。
該版本中的Greenplum Streem Server組件已經集成了Kafka流式載入功能,並通過了Confluent官方的集成認證,其支持的主要功能如下:
國產資料庫概覽
K-DB發布資料庫一體機版
2018年11月7日,K-DB發布了資料庫一體機版。該版本更新情況如下:
OceanBase遷移服務發布1.0版本
1月4日,OceanBase 正式發布OMS遷移服務1.0版本。
以下內容包含 OceanBase 遷移服務的重要特性和功能:
SequoiaDB發布3.0.1新版本
1、架構
1)完整計算存儲分離架構,兼容MySQL協議、語法
計算存儲分離體系以松耦合的方式將計算與存儲層分別部署,通過標准介面或插件對各個模塊和組件進行無縫替換,在計算層與存儲層均可實現自由的彈性伸縮。
SequoiaDB巨杉資料庫「計算-存儲分離」架構詳細示意
用戶可以根據自身業務特徵選擇面向交易的SQL解析器(例如MySQL或PGSQL)或面向統計分析的執行引擎(例如SparkSQL)。眾所周知,使用不同的SQL優化與執行方式,資料庫的訪問性能可能會存在上千上萬倍的差距。計算存儲分離的核心思想便是在數據存儲層面進行一體化存儲,在計算層面則利用每種執行引擎的特點針對不同業務場景進行選擇和優化,用戶可以在存儲層進行邏輯與物理的隔離,將面向高頻交易的前端業務與面向高吞吐量的統計分析使用不同的硬體進行存儲,確保在多類型數據訪問時互不幹擾,以真正達到生產環境可用的多租戶與HTAP能力。
2、其他更新信息
1)介面變更:
2)主要特性:
雲資料庫
本期新秀:騰訊發布資料庫CynosDB,開啟公測
1、News
1)騰訊雲資料庫MySQL2018年重大更新:
2)騰訊雲資料庫MongoDB2018年重大更新:
3)騰訊雲資料庫Redis/CKV+2018年重大更新:
4)騰訊雲資料庫CTSDB2018年重大更新:
2、Redis 4.0集群版商業化上線
2018年10月,騰訊雲資料庫Redis 4.0集群版完成邀測、公測、商業化三個迭代,在廣州、上海、北京正式全量商業化上線。
產品特性:
使用場景:
官網文檔:
https://cloud.tencent.com/document/proct/239/18336
3、騰訊自研資料庫CynosDB發布,開啟公測
2018年11月22日,騰訊雲召開新一代自研資料庫CynosDB發布會,業界第一款全面兼容市面上兩大最主流的開源資料庫MySQL和PostgreSQL的高性能企業級分布式雲資料庫。
本期新秀:京東雲DRDS發布1.0版本
12月24日,京東雲分布式關系型資料庫DRDS正式發布1.0版本。
DRDS是京東雲精心自研的資料庫中間件產品,獲得了2018年 」可信雲技術創新獎」。DRDS可實現海量數據下的自動分庫分表,具有高性能,分布式,彈性升級,兼容MySQL等優點,適用於高並發、大規模數據的在線交易, 歷史 數據查詢,自動數據分片等業務場景,歷經多次618,雙十一的考驗,已經在京東集團內大規模使用。
京東雲DRDS產品有以下主要特性
1)自動分庫分表
通過簡單的定義即可自動實現分庫分表,將數據實際存放在多個MySQL實例的資料庫中,但呈現給應用程序的依舊是一張表,對業務透明,應用程序幾乎無需改動,實現了對資料庫存儲和處理能力的水平擴展。
2)分布式架構
基於分布式架構的集群方案,多個對等節點同時對外提供服務,不但可有效規避服務的單點故障,而且更加容易擴展。
3)超強性能
具有極高的處理能力,雙節點即可支持數萬QPS,滿足用戶超大規模處理能力的需求。
4)兼容MySQL
兼容絕大部分MySQL語法,包括MySQL語法、數據類型、索引、常用函數、排序、關聯等DDL,DML語句,使用成本低。
參考鏈接:
https://www.jdcloud.com/cn/procts/drds
RadonDB發布1.0.3版本
2018年12月26日,MyNewSQL領域的RadonDB雲資料庫發布1.0.3版本。
推出dbaplus Newsletter的想法
dbaplus Newsletter旨在向廣大技術愛好者提供資料庫行業的最新技術發展趨勢,為社區的技術發展提供一個統一的發聲平台。為此,我們策劃了RDBMS、NoSQL、NewSQL、時間序列、大數據生態圈、國產資料庫、雲資料庫等幾個版塊。
我們不以商業宣傳為目的,不接受任何商業廣告宣傳,嚴格審查信息源的可信度和准確性,力爭為大家提供一個純凈的技術學習環境,歡迎大家監督指正。
至於Newsletter發布的周期,目前計劃是每三個月左右會做一次跟進, 下期計劃時間是2019年4月14日~4月25日, 如果有相關的信息提供請發送至郵箱:[email protected]
感謝名單
最後要感謝那些提供寶貴信息和建議的專家朋友,排名不分先後。
往期回顧:
↓↓別忘了點這里下載 2019年1月 完整版Newsletter 哦~
② 3、 新一代資料庫技術有哪些特點
三、新一代資料庫技術的特點
一方面立足於資料庫已有的成果和技術,加以發展進化,有人稱之為"進化論"的觀點和方法。另一方面的努力是立足於新的應用需求和計算機未來的發展,研究全新的資料庫系統,有人稱之為"革新論"的觀點和方法。
可以說新一代資料庫技術的研究,新一代資料庫系統的發展呈現了百花齊放的局面。其特點是:
1.面向對象的方法和技術對資料庫發展的影響最為深遠
八十年代出現的面向對象的方法和技術對計算機各個領域,包括程序設計語言、軟體工程、信息系統設計,以及計算機硬體設計等都產生了深遠的影響,也給面臨新挑戰的資料庫技術帶來了機會和希望。 資料庫研究人員借鑒和吸收了面向對象的方法和技術,提出了面向對象數據模型(簡稱對象模型)。 該模型克服了傳統數據模型的局限性,為新一代資料庫系統的探索帶來了希望,促進了資料庫技術在一個新的技術基礎上繼續發展。
2.資料庫技術與多學科技術的有機結合
資料庫技術與多學科技術的有機結合是當前資料庫技術發展的重要特徵。
計算機領域中其它新興技術的發展對資料庫技術產生了重大影響。 傳統的資料庫技術和其它計算機技術的互相結合,建立和實現了一系列新型資料庫系統,如分布式資料庫系統、並行資料庫系統、演繹資料庫系統、知識庫系統、多媒體資料庫系統等等。它們共同構成了資料庫系統大家族。
3. 面向應用領域的資料庫技術的研究
③ 資料庫發展呈現三個主要特徵
資料庫發展呈現三個主要特徵
資料庫(Databases,簡稱DB)是指長期保存在計算機的存儲設備上、並按照某種模型組織起來的、可以被各種用戶或應用共享的數據的集合。資料庫管理系統(Database Management Systems,簡稱DBMS)是指提供各種數據管理服務的計算機軟體系統,這種服務包括數據對象定義、數據存儲與備份、數據訪問與更新、數據統計與分析、數據安全保護、資料庫運行管理以及資料庫建立和維護等。
由於企業信息化的目的就是要以現代信息技術為手段,對伴隨著企業生產和經營過程而產生的數據進行收集、加工、管理和利用,以改善企業生產經營的整體效率,增強企業的競爭力。所以,資料庫是企業信息化不可缺少的工具,是絕大部分企業信息系統的核心。
縱觀資料庫發展,三大資料庫巨頭公司紛紛推出其最新產品,資料庫市場競爭日益加劇。從最新的IDC報告顯示,在關系資料庫管理系統(RDBMS)軟體市場上,Oracle繼續領先對手IBM和微軟,但是微軟在2006年取得了更快的銷售增長率……
根據對資料庫發展的技術趨勢不難看出,整個資料庫發展呈現出了三個主要特徵:
(1)、支持XML數據格式
IBM公司在它新推出的DB2 9版本中,直接把對XML的支持作為其新產品的最大賣點,號稱是業內第一個同時支持關系型數據和XML數據的混合資料庫,無需重新定義XML數據的格式,或將其置於資料庫大型對象的前提下,IBM DB2 9允許用戶無縫管理普通關系數據和純XML數據。
對於傳統關系型數據與層次型數據的混合應用已經成為了新一代資料庫產品所不可或缺的特點。除了IBM,Oracle和微軟也同時宣傳了它們的產品也可以實現高性能XML存儲與查詢,使現有應用更好的與XML共存。
(2)、商業智能成重點
為應對日益加劇的商業競爭,企業不斷增加內部IT及信息系統,使企業的商業數據成幾何數量級不斷遞增,如何能夠從這些海量數據中獲取更多的信息,以便分析決策將數據轉化為商業價值,就成為目前資料庫廠商關注的焦點。各資料庫廠商在新推出的產品中,紛紛表示自己的產品在商業智能方面有很大提高。如:微軟最新版SQL Server 2005就集成了完整的商業智能套件,包括數據倉庫、數據分析、ETL工具、報表及數據挖掘等,並有針對性的做了一些優化。如何更好的支持商業智能將是未來資料庫產品發展的主要趨勢之一。
(3)、SOA架構支持
SOA已經成為目前IT業內的一個大的發展趨勢,最初IBM和BEA是該理念的主要推動者,後來有越來越多的企業加入,開始宣稱支持SOA,其中包括Oracle,而微軟開始並不是非常贊同SOA的,但是,隨著時間的發展,目前國內主流的資料庫廠商都開始宣稱他們的產品是完全支持SOA架構的,包括微軟的SQL Server 2005,從微軟態度的轉變可以看出,未來IT業的發展與融合,SOA正在成長為一個主流的趨勢。
資料庫管理系統已經成為軟體產業的重要組成部分,是信息化過程中最重要的技術基礎之一。我國要振興軟體產業,就必須發展自己的資料庫軟體產業。這已經獲得了廣泛的共識,目前要解決的關鍵問題是如何能夠「做得出、用得上、賣得掉」。我們認為,資料庫軟體的發展將仍然是關系系統內核基礎上進行擴展的技術路線。
④ 新一代資料庫包括哪些
nosql資料庫,如:
Membase
MongoDB
Hypertable
Apache Cassandra
⑤ 資料庫開發工具的發展大致經歷了哪四個主要階段
一、資料庫技術的歷史和發展
資料庫技術是本世紀60年代開始興起的一門信息管理自動化的新興學科,是計算機科學中的
一個重要分支。隨著計算機應用的不斷發展,在計算機應用領域中,數據處理越來越佔主導
地位,資料庫技術的應用也越來越廣泛。
資料庫是數據管理的產物。數據管理是資料庫的核心任務,內容包括對數據的分類、組織、
編碼、儲存、檢索和維護。隨著計算機硬體和軟體的發展,資料庫技術也不斷地發展。從數據
管理的角度看,資料庫技術到目前共經歷了人工管理階段、文件系統階段和資料庫系統階段。 A.人工管理階段 人工管理階段是指計算機誕生的初期(即20世紀50年代後期之前),這個時期的計算機主要用
於科學計算。從硬體看,沒有磁碟等直接存取的存儲設備;從軟體看,沒有操作系統和管理
數據的軟體,數據處理方式是批處理。 這個時期數據管理的特點是:
1. 數據不保存
該時期的計算機主要應用於科學計算,一般不需要將數據長期保存,只是在計算某一課題
時將數據輸入,用完後不保存原始數據,也不保存計算結果。
2. 沒有對數據進行管理的軟體系統
程序員不僅要規定數據的邏輯結構,而且還要在程序中設計物理結構,包括存儲結構、存
取方法、輸入輸出方式等。因此程序中存取數據的子程序隨著存儲的改變而改變,數據與
程序不具有一致性。
3. 沒有文件的概念
數據的組織方式必須由程序員自行設計。
4. 一組數據對應於一個程序,數據是面向應用的
即使兩個程序用到相同的李模並數據,也必須各自定義、各自組織,數據無法共享、無法相互利
用和互相參照,從而導致程序和程序之間有大量重復的數據。 B.文件系統階段 文件系統階段是指計算機不僅用於科學計算,而且還大量用於管理數據的階段(從50年代後
期到60年代中期)。在硬體方面,外存儲器有了磁碟、磁鼓等直接存取的存儲設備。在軟體
方面,操作系統中已經有了專門用於管理數哪跡據的軟體,稱為文件系統。 這個時期數據管理的特點是: 1. 數據需要長期保存在外存上供反復使用 由於計算機大量用於數據處理,經常對文件進行查詢、修改、插入和刪除等操作,所以數
據需要長期保留,以便於反復操作。 2. 程序之間有了一定的獨立性碼行 操作系統提供了文件管理功能和訪問文件的存取方法,程序和數據之間有了數據存取的接
口,程序可以通過文件名和數據打交道,不必再尋找數據的物理存放位置,至此,數據有
了物理結構和邏輯結構的區別,但此時程序和數據之間的獨立性尚還不充分。 3. 文件的形式已經多樣化 由於已經有了直接存取的存儲設備,文件也就不再局限於順序文件,還有了索引文件、鏈
表文件等,因而,對文件的訪問可以是順序訪問,也可以是直接訪問。 4. 數據的存取基本上以記錄為單位 C.資料庫系統階段 資料庫系統階段是從60年代後期開始的。在這一階段中,資料庫中的數據不再是面向某個應
用或某個程序,而是面向整個企業(組織)或整個應用的。 資料庫系統階段的特點是: 1. 採用復雜的結構化的數據模型 資料庫系統不僅要描述數據本身,還要描述數據之間的聯系。這種聯系是通過存取路徑來
實現的。 2. 較高的數據獨立性 數據和程序彼此獨立,數據存儲結構的變化盡量不影響用戶程序的使用。 3. 最低的冗餘度 資料庫系統中的重復數據被減少到最低程度,這樣,在有限的存儲空間內可以存放更多的
數據並減少存取時間。 4. 數據控制功能 資料庫系統具有數據的安全性,以防止數據的丟失和被非法使用;具有數據的完整性,以
保護數據的正確、有效和相容;具有數據的並發控制,避免並發程序之間的相互干擾;具
有數據的恢復功能,在資料庫被破壞或數據不可靠時,系統有能力把資料庫恢復到最近某
個時刻的正確狀態。二、三代資料庫系統的發展 數據模型是資料庫系統的核心。按照數據模型發展的主線,資料庫技術的形成過程和發展可從
以下三個方面反映: A. 第一代資料庫系統 層次和網狀資料庫管理系統 層次和網狀資料庫的代表產品是IBM公司在1969年研製出的層次模型資料庫管理系統。層次
資料庫是資料庫系統的先驅,而網狀資料庫則是資料庫概念、方法、技術的奠基。 B. 第二代資料庫系統 關系資料庫管理系統(RDBMS) 1970年,IBM公司的研究員E.F.Codd在題為《大型共享資料庫數據的關系模型》的論文中提
出了資料庫的關系模型,為關系資料庫技術奠定了理論基礎。到了80年代,幾乎所有新開發
的資料庫系統都是關系型的。 真正使得關系資料庫技術實用化的關鍵人物是James Gray。Gray在解決如何保障數據的完整
性、安全性、並發性以及資料庫的故障恢復能力等重大技術問題方面發揮了關鍵作用。 關系資料庫系統的出現,促進了資料庫的小型化和普及化,使得在微型機上配置資料庫系統成
為可能。 C. 新一代資料庫技術的研究和發展 目前已從多方面發展了現行的資料庫系統技術。我們可以從數據模型、新技術內容、應用領
域三個方面概括新一代資料庫系統的發展。 (1) 面向對象的方法和技術對資料庫發展的影響最為深遠 80年代,面向對象的方法和技術的出現,對計算機各個領域,包括程序設計語言、軟體工程、
信息系統設計以及計算機硬體設備等都產生了深遠的影響,也給面臨新挑戰的資料庫技術帶
來了新的機遇和希望。資料庫研究人員借鑒和吸收了面向對象的方法和技術,提出了面向對
象的資料庫模型(簡稱對象模型)。當前有許多研究是建立在資料庫已有的成果和技術上的,
針對不同的應用,對傳統的DBMS,主要是RDBMS進行不同層次上的擴充,例如建立對象關
系(OR)模型和建立對象關系資料庫(ORDB)。 (2) 資料庫技術與多學科技術的有機結合 資料庫技術與多學科技術的有機結合是當前資料庫發展的重要特徵。計算機領域中其他新興
技術的發展對資料庫技術產生了重大影響。傳統的資料庫技術和其他計算機技術的結合、互
相滲透,使資料庫中新的技術內容層出不窮。資料庫的許多概念、技術內容、應用領域,甚
至某些原理都有了重大的發展和變化。建立和實現了一系列新型的資料庫,如分布式資料庫、
並行資料庫、演繹資料庫、知識庫、多媒體庫、移動資料庫等,它們共同構成了資料庫大家
族。 (3) 面向專門應用領域的資料庫技術的研究 為了適應資料庫應用多元化的要求,在傳統資料庫基礎上,結合各個專門應用領域的特點,
研究適合該應用領域的資料庫技術,如工程資料庫、統計資料庫、科學資料庫、空間資料庫、
地理資料庫、Web資料庫等,這是當前資料庫技術發展的又一重要特徵。 同時,資料庫系統結構也由主機/終端的集中式結構發展到網路環境的分布式結構,隨後又發
展成兩層、三層或多層客戶/伺服器結構以及Internet環境下的瀏覽器/伺服器和移動環境下的
動態結構。多種資料庫結構滿足了不同應用的需求,適應了不同的應用環境。
⑥ 資料庫技術的發展趨勢
資料庫技術的發展趨勢:
根據資料庫應用及多家分析機構的評估,資料庫技術發展將以應用為導向,面向業務服務,並與計算機網路和人工智慧等技術結合,為新型應用提供多種支持。
(1)雲資料庫和混合數據快速發展
雲資料庫(Cloud Database)簡稱為雲庫, 是在雲計算環境中部署和虛擬化的資料庫。將各種關系型資料庫看成一系列簡單的二維表,並基於簡化版本的SQL或訪問對象進行操作。使傳統關系型資料庫通過提交一個有效地鏈接字元串即可加入雲資料庫,雲資料庫可解決數據集中更廣泛的異地資源共享問題。
(2)數據集成與數據倉庫
數據倉庫(Data Warehouse)是面向主題、集成、相對穩定、反映歷史變化的數據集合,是決策支持系統和聯機分析應用數據源的結構化數據環境。主要側重對機構歷史數據的綜合分析利用,找出對企業發展有價值的信息,以提供決策支持,幫助提高效益。其特徵是面向主題、集成性、穩定性和時變性。新一代資料庫使數據集成和數據倉庫的實施更簡單。數據應用逐步過渡到數據服務,開始注重處理:關系型與非關系型數據的融合、分類、國際化多語言數據。
(3)主數據管理和商務智能
在企事業機構內部業務應用整合和系統互聯中,許多機構具有相同業務語義的數據被多次反復定義和存儲,導致數據大量冗餘成為IT環境發展的障礙,為了有效使用和管理這些數據,主數據管理已經成為一個新的熱點。
商務智能(Business Intelligence)是指利用數據倉庫及數據挖掘技術對業務數據分析處理並提供決策信息和報告,促進企業利用現代信息技術收集、管理和分析商務數據,改善決策水平,提升績效,增強綜合競爭力的智慧和能力。是企業利用現代信息技術收集、管理和分析商務數據和信息,創造和累計商務知識和見解,改善商務決策水平,採取有效的商務行動,完善各種商務流程,提升各方面商務績效,增強綜合競爭力的智慧和能力。融合了先進信息技術與創新管理理念的結合體,集成企業內外的數據,加工並從中提取能夠創造商業價值的信息,面向企業戰略並服務於管理層。
(4)「大數據」促進新型資料庫
進入「大數據時代」,大數據量、高並發、分布式和實時性的需求,由於傳統的資料庫技術的數據模型和預定義的操作模式,時常難以滿足實際需求,致使新型資料庫在大數據的場景下,將取代傳統資料庫成為主導。
(5)基於網路的自動化管理
網路資料庫應用系統的廣泛應用,使資料庫管理更加自動化。如網購、網銀等系統,從企業級Enterprise-class到世界級World-class的轉變,提供更多基於Internet環境的管理工具,完成資料庫管理網路化。應用程序編程介面API(Application ProgrammingInterface)更開放,基於瀏覽器端技術的管理套件,便於分布遠程管理。
(6)PHP將促進資料庫產品應用
隨著新一代Web技術的廣泛應用,在.NET和Java成為數據應用的主體開發平台後,很多廠商為了爭取市場在新版本資料庫產品推出後,提供面向超級文本預處理語言PHP(Hypertext Preprocessor)的專用驅動和應用。
(7)資料庫將與業務語義的數據內容融合
資料庫將更廣泛地為用於「信息服務」。對新一代基於AJAX、MashUp、SNS等技術的創新應用,數據從集中於邏輯中心資料庫,改為分布網路,為了給予技術支持,數據聚集及基於業務語義的數據內容融合也成為資料庫發展的方向,不僅在商務智能領域不斷加強對服務應用的支持,而且注重加強數據集成服務。