国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門文章> 常用數(shù)據(jù)庫有哪些? >

常用數(shù)據(jù)庫有哪些?

36氪企服點評小編
2021-06-02 17:11
1170次閱讀

    隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)上的數(shù)據(jù)也在不斷增多,各類文章、圖片、視頻都充斥于各類網(wǎng)站和應(yīng)用程序之中,用戶如果想要在這些海量的信息中尋找和獲取自身所喜愛的內(nèi)容,就會需要使用搜索的功能。而面對這樣海量復(fù)雜的數(shù)據(jù),傳統(tǒng)數(shù)據(jù)庫搜索無法實現(xiàn)快速的響應(yīng)和模糊搜索,一般針對這種情況都會采用全文檢索技術(shù),而Elasticsearch(以下簡寫為ES)和Solr就是目前最常用的全文檢索引擎。下面就由小編為您帶來常用數(shù)據(jù)庫有哪些的相關(guān)介紹。

1. MySQL/MariaDB

   2008 年美國 Sun 公司花費 10 億美元收購 MySQL,一年后 Oracle 公司又花費 60 億美元收購了 Sun 公司,從此 Sun 公司的服務(wù)器、操作系統(tǒng)、MySQL 等產(chǎn)品線全部歸屬 Oracle 公司。

   拉力·艾立森奉行的經(jīng)營哲學(xué)是“競爭不過它,我就買了它”。競爭不過,說明競爭對手的產(chǎn)品更具優(yōu)勢,所以收購它,從而變成自己的優(yōu)勢。幾十年來,Oracle 從一家小型數(shù)據(jù)庫公司變成今天覆蓋硬件、平臺軟件、數(shù)據(jù)庫、中間件、應(yīng)用軟件各個層次產(chǎn)品線的 IT 巨無霸,靠的就是美國的良好環(huán)境和總裁奉行的收購策略。

   MySQL 數(shù)據(jù)庫占據(jù)中小型數(shù)據(jù)庫應(yīng)用市場的半壁江山,在這塊市場,Oracle 數(shù)據(jù)庫明顯占下風(fēng),巔峰時世界上超過 70% 的網(wǎng)站后臺都采用 MySQL 數(shù)據(jù)庫。但是自從被 Oracle 公司收購后,MySQL 發(fā)展明顯趨緩,是繼續(xù)開源還是閉源,Oracle 公司一直沒下定論。于是 MySQL 的原班人馬陸續(xù)離開 Oracle 公司,另立爐灶,推出了 MariaDB 開源數(shù)據(jù)庫。

   MariaDB 繼承了 MySQL 小巧精悍、簡潔高效、穩(wěn)定可靠的特征,并與 MySQL 保持兼容。時至今日,已有 Google、Facebook 等知名企業(yè)把應(yīng)用從 MySQL 切換到了 MariaDB 上,各種 Linux 發(fā)行版的操作系統(tǒng)默認數(shù)據(jù)庫都開始采用 MariaDB;而 Apple 公司反應(yīng)更快,當(dāng) Oracle 公司收購 Sun 公司時,就切換到了 PostgreSQL 數(shù)據(jù)庫。

   截至 2014 年年末的數(shù)據(jù)庫綜合排名,MySQL 繼續(xù)位居第二名,但是其表現(xiàn)出來的頹勢較明顯,而 MariaDB 卻具備強勁的生命力。

   整個安裝包大約 200MB,幾乎能在所有的操作系統(tǒng)上安裝和運行,與 Oracle 數(shù)據(jù)庫、SQL Server、DB2 等商業(yè)數(shù)據(jù)庫動輒好幾張光盤相比,算是短小精悍了。

   另外,也可以從這個網(wǎng)站下載數(shù)據(jù)庫的源代碼。對于非數(shù)據(jù)庫型的 SaaS 云提供商來說,云端采用 MariaDB 是最好的選擇,而且可以輕松搭建數(shù)據(jù)庫集群。

2. PostgreSQL

PostgreSQL 能被蘋果公司大量使用并替換早期的 MySQL 數(shù)據(jù)庫,說明其一定有不俗的表現(xiàn)。在 2014 年年末的數(shù)據(jù)庫排行榜上,PostgreSQL 位居第四位,號稱世界上最先進的、最安全的開源數(shù)據(jù)庫,也是面向?qū)ο蟮年P(guān)系數(shù)據(jù)庫。
華為內(nèi)部局域網(wǎng)接入控制系統(tǒng) SPES 也采用 PostgreSQL 數(shù)據(jù)庫,在 Linux 操作系統(tǒng)上運行,極少出問題。經(jīng)過十多年的磨礪,如今 PostgreSQL 數(shù)據(jù)庫具備如下特點:

  • 面向?qū)ο螅踩詷O高,能運行在全部主流的操作系統(tǒng)上,完全 ACID 兼容。
  • 支持外鍵、連接、視圖、觸發(fā)器和存儲過程(多語言)。
  • 支持最新的 SQL 2008 標準的數(shù)據(jù)類型,包括整型、數(shù)字型、字符型、布爾型、可變字符型、日期型、時間戳、自增長型以及各種二進制對象(如圖片、聲音和視頻等)。
  • 提供了各種流行語言的編程接口,如 C/C++、Java、.NET、Perl、Python、Ruby、Tcl、ODBC 等。


PostgreSQL 數(shù)據(jù)庫同時具備很多眾多令人振奮的優(yōu)點,比如在線備份、數(shù)據(jù)域、表分區(qū)、表空間、嵌套事務(wù)、時刻點恢復(fù)、兩段式提交、多版本并發(fā)控制、子查詢等。
在 PostgreSQL 中,數(shù)據(jù)庫大小沒有限制,表大小上限為 32TB,一條記錄的大小上限為 1.6TB,字段大小上限是 1GB,一個表包含的記錄數(shù)沒有限制,一條記錄的字段數(shù)上限為 1600 個,一個表上創(chuàng)建的索引數(shù)目沒有限制。
另外,SQLite 是一個非常小型的 ACID 兼容的關(guān)系數(shù)據(jù)庫,適合嵌入式系統(tǒng)。

3. InfluxDB

    InfluxDB 是一個開源的時間序列數(shù)據(jù)庫,能應(yīng)付極高的寫和查詢并發(fā)數(shù),主要用于存儲大規(guī)模的時間戳數(shù)據(jù)(每條記錄自動附加時間戳),如 DevOps 監(jiān)控數(shù)據(jù)、應(yīng)用系統(tǒng)運行指標數(shù)據(jù)、物聯(lián)網(wǎng)感應(yīng)器采集的數(shù)據(jù)及實時分析的結(jié)果數(shù)據(jù)等。InfluxDB 具備如下特征:

  • 全部用 Go 語言編寫,并被編譯成單一運行程序,無須第三方依賴。
  • 簡潔、高效地寫和查詢 HTTP(S)編程接口(API)。
  • 通過插件能與其他的數(shù)據(jù)采集工具集成,如 Graphite、collectd、OpenTSDB。
  • 可以搭建高可用性的 InfluxDB 環(huán)境。
  • 量身定制化的類-SQL 語言。
  • 允許給序列數(shù)據(jù)附加標簽來創(chuàng)建索引,以便快速高效查詢。
  • 通過定義策略輕松實現(xiàn)自動失效過時的數(shù)據(jù)。
  • 基于 Web 的管理界面。


    對于一個具體的時間序列應(yīng)用來說,除存儲外,還需要集成數(shù)據(jù)采集、可視化和告警功能。為此,InfluxData 社區(qū)相應(yīng)提供了 Telegraf(數(shù)據(jù)采集)、Chronograf(數(shù)據(jù)可視化)、Kapacitor(告警)三個開源項目,再加上 InfluxDB,能部署成一個完整的時間序列應(yīng)用系統(tǒng)(簡稱為 TICK)。這四者的關(guān)系如圖 1 所示。

4. Redis

    Redis 是遵循 BSD 開源協(xié)議的存儲系統(tǒng),數(shù)據(jù)存儲在內(nèi)存中,因此具備極高的性能,可用作數(shù)據(jù)庫、緩存和消息中間件。Redis 支持多種類型的數(shù)據(jù)結(jié)構(gòu),如字符串、哈希、列表、集合、帶范圍查詢的有序集合、位圖、hyperloglogs 和帶半徑查詢的地理空間索引。

   Redis 內(nèi)置了復(fù)制、腳本語言編程、最近最少使用(LRU)淘汰、事務(wù)以及不同級別的磁盤持久化等功能,通過 Redis Sentinel 和集群自動分區(qū)機制實現(xiàn)高可用性。

   Redis 采用 C 語言編寫,能運行在 Windows、MacOS X、Linux、Solaris 等操作系統(tǒng)上,不過 Linux 是其最佳的運行平臺,無須第三方依賴,它提供了最廣泛的編程語言接口。

5. MongoDB

    MongoDB 是排名第一的文檔數(shù)據(jù)庫,屬于 NoSQL 大類,誕生于 2009 年,正好是云計算興起的前夜。MongoDB 采用 C++ 語言開發(fā),能運行在 Windows、MacOS X、Linux、Solaris 操作系統(tǒng)上,提供了絕大部分計算機語言的編程接口。保存在 MongoDB 中的一條記錄稱為一個文檔,類似 JSON 語法。

   從上面的例子可以看出,一個文檔就是“鍵:值”對的集合。MongoDB 的主要優(yōu)勢包括:高性能、富查詢語言(支持 CRUD、數(shù)據(jù)聚合、文本搜索和地理空間查詢)、高可靠性、自動伸縮架構(gòu)、支持多存儲引擎。MongoDB 適合文檔存儲、檢索和加工的應(yīng)用場合,如大數(shù)據(jù)分析。

常用數(shù)據(jù)庫有哪些?常用數(shù)據(jù)庫

6. Neo4j

   Neo4j 是一個用 Java 語言開發(fā)的圖數(shù)據(jù)庫,它將結(jié)構(gòu)化數(shù)據(jù)存儲在由“點—邊”組成的網(wǎng)絡(luò)(數(shù)學(xué)術(shù)語叫“圖”)上而不是表中。與關(guān)系數(shù)據(jù)庫相比,圖數(shù)據(jù)庫擅長處理大量復(fù)雜、互連接、低結(jié)構(gòu)化的數(shù)據(jù)。這些數(shù)據(jù)變化迅速,需要頻繁查詢,如果使用關(guān)系數(shù)據(jù)庫,那么這些查詢會導(dǎo)致大量的表連接,因此會產(chǎn)生性能上的問題。

   Neo4j 重點解決了擁有大量連接的傳統(tǒng)關(guān)系數(shù)據(jù)庫在查詢時出現(xiàn)的性能衰退問題。Neo4j 還提供了非常快的圖算法、推薦系統(tǒng)和 OLAP 風(fēng)格的分析,而這一切在目前的關(guān)系數(shù)據(jù)庫系統(tǒng)中都無法實現(xiàn)。Neo4j 提供了廣泛使用的 REST 接口,能夠方便地集成到基于 Java、PHP、.NET 和 JavaScript 的環(huán)境里。

創(chuàng)建了兩個節(jié)點:變量“e1”和“e2”,標簽“員工”,屬性“{……}”。

創(chuàng)建了一條邊,最終形成下圖,如圖 2 所示。

創(chuàng)建了一條邊,最終形成下圖,如圖 2 所示。

7. Elasticsearch

    Elasticsearch 是一個高度可擴展的開源全文搜索和分析引擎,用于存儲、搜索和近乎實時地分析大規(guī)模數(shù)據(jù)。

   Elasticsearch 常被人們用于構(gòu)建具備復(fù)雜搜索功能的應(yīng)用系統(tǒng),比如維基百科和優(yōu)步的搜索,再比如網(wǎng)店中搜索商品、商業(yè)智能、日志收集與分析、價格告警等。利用 Elasticsearch 實現(xiàn)的數(shù)據(jù)采集、存儲和可視化套件 ELK(Elasticsearch、Logstash、Kibana)在日志分析領(lǐng)域應(yīng)用最為廣泛。

8. Caché

    大概 20 年前,人們提出了后關(guān)系型數(shù)據(jù)庫的概念,目前已有不少產(chǎn)品,其中由 InterSystems 公司開發(fā)的 Caché 是后關(guān)系型數(shù)據(jù)庫中的領(lǐng)頭羊,它提供 3 種方式訪問數(shù)據(jù):對象訪問、SQL 訪問、直接對多維數(shù)據(jù)數(shù)組訪問,而且 3 種訪問方式能夠并發(fā)訪問同一數(shù)據(jù)。多維數(shù)據(jù)結(jié)構(gòu)和多種數(shù)據(jù)庫訪問方式構(gòu)成了后關(guān)系型數(shù)據(jù)庫的基礎(chǔ)。
Caché 數(shù)據(jù)庫具備如下一些特點:

1)速度快

Caché 數(shù)據(jù)庫在同等條件下查詢相同數(shù)據(jù),比 Oracle 等普通數(shù)據(jù)庫要快 7~20 倍。

2)節(jié)省存儲空間

存儲空間可能節(jié)省 2/3,而基于 Caché 的應(yīng)用程序,比原來基于關(guān)系型數(shù)據(jù)庫的應(yīng)用程序運行有可能快 20 倍。

3)使用簡單

Caché 數(shù)據(jù)庫支持標準 SQL 語句,因此不太熟悉 M 語言的用戶依然可以輕松對數(shù)據(jù)庫中的數(shù)據(jù)進行操作。

4)接口容易

Caché 數(shù)據(jù)庫支持 ODBC 標準接口,因此在與其他系統(tǒng)進行數(shù)據(jù)交換時非常容易,同時 Caché 亦可以將數(shù)據(jù)輸出為文本文件格式,以供其他系統(tǒng)訪問調(diào)用。

5)真正的三層結(jié)構(gòu)

Caché 數(shù)據(jù)庫能夠在真正意義上實現(xiàn) 3 層結(jié)構(gòu),實現(xiàn)真正的分布式服務(wù),便于做橫向擴張。

6)對象型編輯

Caché 數(shù)據(jù)庫是真正的對象型數(shù)據(jù)庫,開發(fā)時用戶可直接用數(shù)據(jù)庫定義自己想要的對象,然后再在其他開發(fā)工具中調(diào)用該對象的方法和屬性即可完成開發(fā)工作,非常方便。

7)支持 Web 開發(fā)

Caché 數(shù)據(jù)庫提供自帶的 Web 開發(fā)工具,使用、維護非常方便,符合當(dāng)今軟件業(yè)發(fā)展的趨勢。

8)價格便宜

Caché 數(shù)據(jù)庫的價格比 Oracle 數(shù)據(jù)庫要便宜很多。
Caché 數(shù)據(jù)庫在歐美的醫(yī)療系統(tǒng)使用最為普遍,被醫(yī)療界公認為首選的數(shù)據(jù)庫,國內(nèi)中山大學(xué)第三附屬醫(yī)院、深圳南山醫(yī)院、北京安貞醫(yī)院等也采用 Caché 數(shù)據(jù)庫

9. Cassandra

   Cassandra 是在 Google 的 Bigtable 基礎(chǔ)上發(fā)展起來的 NoSQL 數(shù)據(jù)庫,由臉譜于 2008 年用 Java 語言開發(fā),目前被貢獻給 Apache 基金會。Cassandra 被稱為“列數(shù)據(jù)庫”,這里的“列”不是指關(guān)系數(shù)據(jù)庫中一個表中的列,而是由“鍵—值”對組成的列表(語法與 Python 語言中的列表相同),如:

   Cassandra 中一行數(shù)據(jù)語法是“一行的鍵={列,列,…}”,一行可包含上百萬列,比如:

   Cassandra 中的列族(ColumnFamily)格式是“列族名={若干行}”,一個列族可包含幾十億行,例如:

    一個 Cassandra 運行實例管理很多鍵空間(Keyspace),Keyspace 相當(dāng)于關(guān)系數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)庫,一個鍵空間包含很多列族。鍵空間、列族、行、列的關(guān)系如圖 3 所示。


    所以,Cassandra 中的尋址是一個四維或者五維哈希表:OpenStack 生態(tài)中的 HBase 也是列數(shù)據(jù)庫,目前排名第二。

    對于如何選擇一門編程語言來學(xué)習(xí),一般要根據(jù)你想開發(fā)什么類型的軟件決定,如果開發(fā)的是嵌入式軟件或者操作系統(tǒng)之類的,一般選擇C,如果做的是除了嵌入式和操作系統(tǒng)以外的一些比較基礎(chǔ)的軟件,例如數(shù)據(jù)庫,圖形,音頻視頻,游戲引擎一般用c++,一般的應(yīng)用軟件比較常用的有JAVA,c#。以上就是小編為您帶來常用數(shù)據(jù)庫有哪些的相關(guān)介紹,希望對您有所幫助。

[免責(zé)聲明]

文章標題: 常用數(shù)據(jù)庫有哪些?

文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點和對其真實性負責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時溝通。發(fā)送郵件至36dianping@36kr.com,我們會在3個工作日內(nèi)處理。

相關(guān)文章
最新文章
查看更多
關(guān)注 36氪企服點評 公眾號
打開微信掃一掃
為您推送企服點評最新內(nèi)容
消息通知
咨詢?nèi)腭v
商務(wù)合作