堅持寫NoSQL技術博客以來的幾點感想..

      網友投稿 860 2022-05-30

      華為云上的NOSQL數據庫服務CloudTable,基于Apache HBase,提供全托管式集群服務,集成了時序數據庫OpenTSDB與時空數據庫GeoMesa,在TB/PB級別的海量數據背景下,可提供ms級查詢以及千萬級TPS,點我了解詳情。

      在學習的時候,我一直保持著記筆記或者做簡單總結的習慣,內容比較隨性,但這些內容有助于自己的快速回顧。在技術領域,最好的總結是一個直觀的流程圖,所謂"一圖勝千言",然后配以簡單的文字說明。但可惜,那時沒有想過寫作公開的技術博客,周邊也缺乏這樣的氛圍。

      幾個月前,正式決定開始寫博客和公眾號。初衷還是希望能督促自己在業余時間的學習,當正式開始以后,如下幾點內容感受非常深刻:

      1. "以輸出倒逼輸入",這就要求每天必須堅持學習。如果寫作只是將自己知道的內容寫出來,對于我,那將變成一件枯燥而無趣的事情。

      2. 公開的內容對質量會有更高的要求,進一步提高了對學習的要求。

      3. 如果寫作的內容得到其他人的認可,可以帶給自己更多堅持下去的信心。

      但頻繁更新卻是一件極其艱難的事情。技術總結內容,通常需要細致的閱讀源碼細節,如果追求高質量輸出,難以在短時間內快速完成。另外因日常工作方面的原因,自由可支配的時間時常不受控制。

      上面這些內容,更多的是自己的幾點感受。希望閱讀了此文的同學們也能開始自己的技術寫作,對于已經開始的,也應該長期堅持下去。

      接下來是關于NoSQL技術的一些漫談內容。最初,對于這個公眾號名稱,我曾糾結過一段時間。NoSQL一詞,儼然已過了風頭正盛的時期,甚至聽起來像一個"過時"的概念。關于這個公眾號,主要想探討如下領域的內容:

      - 分布式KeyValue系統

      - 稀疏矩陣形態的寬列存儲技術

      - 搜索技術

      - 圖數據庫技術

      - 文檔數據庫技術

      - 時序/時空數據庫技術

      - 多模數據庫技術

      - 分布式索引技術

      - NewSQL技術

      - 分布式計算技術

      認真思考一下,也只有NoSQL一詞可將其盡可能的囊括起來。每一種技術,都有自己獨特的精彩實現內容,但更多的是一些通用的技術,如RPC通信技術,索引技術,分布式共識算法,MVCC, SQL能力等等。

      對比于NoSQL,NewSQL聽起來像是一個更新潮的概念。Google對于NoSQL與NewSQL技術架構的影響可謂深遠,我們先來看看Google從Bigtable到Spanner/F1的演進過程,下面列舉了每一種技術的設計關鍵點:

      Bigtable:

      LSM-Tree架構

      Auto-Scaling

      基于分布式文件系統GFS/Colossus

      稀疏矩陣

      Schema less設計

      行級事務

      異步容災(Paper中提及但最終未實現)

      Megastore:

      基于Bigtable構建

      在NoSQL與RDBMS之間做了妥協,支持半關系型模型

      支持SQL接口

      支持多種二級索引類型

      基于Paxos協議實現了跨DataCenters間的同步容災

      支持Entity Group級別的跨行事務

      Spanner:

      參考了Bigtable的設計后全新實現

      Auto-Scaling

      半關系型模型

      支持SQL接口

      支持同步容災

      支持廣泛的分布式事務能力

      F1:

      基于Spanner構建

      分布式SQL查詢能力

      支持事務一致性的二級索引

      支持異步的Schema變更

      支持樂觀事務

      數據變更歷史記錄跟蹤

      關于NoSQL與NewSQL,這篇文章《NewSQL是否是NoSQL的取代者?》做了更詳細的探討。這里僅簡單的羅列一下觀點:

      -?NoSQL通常指一種非關系型存儲技術,涉及的范圍廣泛,本身與是否具有SQL接口能力無關。

      -?NewSQL更多是指一種分布式的關系型數據庫技術,典型意義上的NewSQL包括Spanner, CockroachDB, NuoDB以及國內的TiDB,它通常會更加強調分布式事務能力。

      NewSQL更多是RDBMS與NoSQL技術結合的一種產物,對于傳統的應用,會更加友好,也具有廣泛的普適性。在可預見的未來,它也一直會有可觀的市場空間。而每一種NoSQL技術更像是一種專業化能力的存在:

      - HBase:稀疏矩陣,基于KeyValue提供了簡單的讀寫接口

      - Elasticsearch:提供分布式搜索能力

      - Druid:基于事件數據的OLAP能力

      - Neo4j:提供圖數據庫能力

      - OpenTSDB/InfluxDB:提供時序數據庫能力

      在"nosql-database.org"這個網站中,收錄了大量的NoSQL技術,大家可以參考一下。

      如果每一種技術只提供一種專業的能力,那就帶來了通用性方面的問題,同一份數據時常需要在不同的系統中各復制一份是一個無法忍受的問題。從應用的角度來看,大家更期望一種"One Size Fit More/All"的技術,但這在技術實現上幾乎不可能。多模數據庫似乎是一個不錯的答案,它的設計理念為:

      "基于一套存儲引擎,提供多種模型,多種訪問接口"

      以當前火熱的AZure Cosmos DB為例,支持如下三種模型:

      -?Document

      - Graph

      - KeyValue

      AZure Cosmos DB基于上面三種模型,提供了多語言(Java/Python/Node.js/.NET)訪問接口,并且提供了MongoDB Document API以及基于SQL的訪問接口。

      再以ArrangoDB為例,它同樣支持如下三種模型:

      堅持寫NoSQL技術博客以來的幾點感想..

      -?Document

      - Graph

      - KeyValue

      ArrangoDB主要提供了AQL(SQL-Like)接口以及HTTP接口。

      多模數據庫像是NoSQL技術的大雜燴,但的確不失為NoSQL技術一個不錯的演進方向。隨著公有云,人工智能,物聯網等行業的快速發展,以及即將到來的5G技術,需要存儲和查詢的數據量也會變得越來越大,相信NoSQL技術會生生不息,一定會取得更廣泛的應用場景。 這也是我堅持在"NoSQL"領域寫技術博客的一個關鍵原因。

      歡迎掃描關注公眾號NoSQL漫談

      NoSQL 數據庫

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:剛剛,華為云數據庫收到十個來自靈魂的拷問
      下一篇:《scikit-learn機器學習常用算法原理及編程實戰》—2.5.3 畫圖操作
      相關文章
      亚洲成a人无码亚洲成av无码 | 亚洲婷婷天堂在线综合| 亚洲婷婷国产精品电影人久久| 亚洲中文字幕无码中文字| 亚洲人成在久久综合网站| 久久久国产精品亚洲一区| 亚洲av日韩av不卡在线观看| 亚洲AV无码专区国产乱码电影| 亚洲AV综合色区无码另类小说| 亚洲人成精品久久久久| 国产亚洲真人做受在线观看| 日本红怡院亚洲红怡院最新| 亚洲成A人片在线观看WWW| 亚洲国产高清在线| 4444亚洲国产成人精品| 亚洲男人的天堂在线| 亚洲冬月枫中文字幕在线看 | 亚洲国产成人手机在线电影bd| 亚洲欧洲精品久久| 精品日韩99亚洲的在线发布| 亚洲一级特黄特黄的大片 | 亚洲日韩av无码| 国产aⅴ无码专区亚洲av| 亚洲激情在线视频| 亚洲精品电影在线| 77777午夜亚洲| 亚洲精品精华液一区二区 | 亚洲高清日韩精品第一区| 亚洲无成人网77777| 亚洲www在线观看| 亚洲精品无码中文久久字幕| 国产午夜亚洲精品不卡电影| 亚洲精品无码AV中文字幕电影网站| 亚洲午夜爱爱香蕉片| 亚洲色偷拍另类无码专区| 久久夜色精品国产亚洲AV动态图 | 亚洲AV无码国产精品色午友在线 | 亚洲综合区小说区激情区| 久久久久久a亚洲欧洲aⅴ| 中文字幕亚洲精品| 亚洲av专区无码观看精品天堂|