InfoWorld Bossie Awards公布

  • 2019 年 10 月 28 日
  • 筆記

轉載自 | AI前線(ai-front)

策劃編輯 | Vincent

來源 | InfoWorld

翻譯 | 劉嘉洋

編輯 | Natalie

AI 前線導讀: 一年一度由世界知名科技媒體 InfoWorld 評選的 Bossie Awards 於 9 月 26 日公布,本次 Bossie Awards 評選出了最佳數據庫與數據分析平台獎、最佳軟件開發工具獎、最佳機器學習項目獎等多個獎項。在最佳開源數據庫與數據分析平台獎中,Spark 和 Beam 再次入選,連續兩年入選的 Kafka 這次意外滑鐵盧,取而代之的是新興項目 Pulsar;這次開源數據庫入選的還有 PingCAP 的 TiDB;另外Neo4依然是圖數據庫領域的老大,但其開源版本只能單機無法部署分佈式,企業版又費用昂貴的硬傷,使很多初入圖庫領域的企業望而卻步,一直走低調務實作風的OrientDB已經慢慢成為更多用戶的首選。附:30分鐘入門圖數據庫(精編版) Bossie Awards 是知名英文科技媒體 InfoWorld 針對開源軟件頒發的年度獎項,根據這些軟件對開源界的貢獻,以及在業界的影響力評判獲獎對象,由 InfoWorld 編輯獨立評選,目前已經持續超過十年,是 IT 屆最具影響力和含金量獎項之一。 一起來看看接下來你需要了解和學習的數據庫和數據分析工具有哪些。

現如今,沒有什麼東西能夠比數據更大的了!我們有比以前多得多的數據,我們有更多方式來存儲和分析數據:SQL 數據庫、NoSQL 數據庫、分佈式 OLTP 數據庫、分佈式 OLAP 平台、分佈式混合 OLTP/OLAP 平台。2018 年數據庫和數據分析平台方面的 Bossie 大獎獲得者也包括了流式處理方面的創新者。

Apache Spark

儘管新的產品層出不窮,Apache Spark 在數據分析領域仍然佔據着舉足輕重的地位。如果你需要從事分佈式計算、數據科學或者機器學習相關的工作,就使用 Apache Spark 吧。Apache Spark 2.3 在二月份發佈,它依然着重於開發、集成並加強它的 Structured Streaming API。另外,新版本中添加了 Kubernetes 調度程序,因此在容器平台上直接運行 Spark 變得非常簡單。總體來說,現在的 Spark 版本經過調整和改進,似乎煥然一新。

AI 前線相關報道

Spark 2.3 重磅發佈:欲與 Flink 爭高下,引入持續流處理

Spark 的危機與機遇:未來必然是 AI 框架倒推數據處理框架

Apache Pulsar

Apache Pulsar 最初由雅虎開發,後來進入 Apache 孵化器,最近正式畢業,成為 Apache 頂級項目。Pulsar 旨在取代 Apache Kafka 多年的主宰地位。Pulsar 在很多情況下提供了比 Kafka 更快的吞吐量和更低的延遲,並為開發人員提供了一組兼容的 API,讓他們可以很輕鬆地從 Kafka 切換到 Pulsar。

Pulsar 的最大優點在於它提供了比 Apache Kafka 更簡單明了、更健壯的一系列操作功能,特別在解決可觀察性、地域複製和多租戶方面的問題。在運行大型 Kafka 集群方面感覺有困難的企業可以考慮轉向使用 Pulsar。

AI 前線相關報道

Apache Pulsar 晉陞頂級項目,打造實時時代的數據中台

為什麼已有 Kafka,我們最終卻選擇了 Apache Pulsar?

開源實時數據處理系統 Pulsar:一套搞定 Kafka+Flink+DB

Apache Beam

多年來,批處理和流式處理之間的差異正在慢慢縮小。批次數據變得越來越小,變成了微批次數據,隨着批次的大小接近於一,也就變成了流式數據。有很多不同的處理架構也正在嘗試將這種轉變映射成為一種編程範式。

Apache Beam 就是谷歌提出的解決方案。Beam 結合了一個編程模型和多個語言特定的 SDK,可用於定義數據處理管道。在定義好管道之後,這些管道就可以在不同的處理框架上運行,比如 Hadoop、Spark 和 Flink。當為開發數據密集型應用程序而選擇數據處理管道時(現如今還有什麼應用程序不是數據密集的呢?),Beam 應該在你的考慮範圍之內。

AI 前線 Beam 技術專欄文章(持續更新ing):

Apache Beam 實戰指南 | 基礎入門

Apache Beam 實戰指南 | 手把手教你玩轉 KafkaIO 與 Flink

Apache Solr

儘管大家都認為 Apache Solr 是基於 Lucene 索引技術而構建的搜索引擎,但它實際上是面向文本的文檔數據庫,而且是一個非常優秀的文檔數據庫。不管你是要「大海撈針」,還是要運行空間信息查詢,Solr 都可以幫上忙。

Solr 7 系列目前已經發佈了,新版本在運行更多分析查詢的情況下仍然能保證閃電般的速度。你可以加入很多文檔,不到一秒鐘就能返回結果。它還改進了對日誌和事件數據的支持。災備(CDCR)現在也是雙向的。Solr 全新的自動擴展功能簡化了集群負載增長時的擴展操作。

JupyterLab

JupyterLab 是新一代的 Jupyter,一個基於 Web 的 notebook 服務器,頗受全世界數據科學家的喜愛。經過三年開發,JupyterLab 完全改變了人們對 notebook 的理解,支持對單元格進行拖放重新排布、標籤式的 notebook、實時預覽 Markdown 編輯,以及改良的擴展系統,與 GitHub 等服務的集成變得非常簡單。預計在 2018 年底,JupyterLab 將發佈 1.0 穩定版。

KNIME 分析平台

KNIME 分析平台是用來創建數據科學應用程序和服務的開源軟件。它提供了可拖放的圖形界面,用來創建可視化工作流,還支持 R 和 Python 腳本、機器學習,支持和 Apache Spark 連接器。KNIME 目前有大概 2000 個模塊可用作工作流的節點。

KNIME 還提供了商業版,商業版旨在提升生產效率和支持協作。不過,開源版 KNIME 分析平台並不存在人為限制,可以處理包含數億行數據的項目。

CockroachDB

CockroachDB 是基於事務性和一致性鍵值存儲而構建的分佈式 SQL 數據庫。它的設計目標是能夠在磁盤、機器、機架甚至是數據中心的故障中存活下來,最小化延遲中斷,不需要人工干預。CockroachDB v1.13 曾經獲得過五星的高分,雖然仍然缺少很多功能,不過現在情況有所改變。

四月份發佈的 CockroachDB v2.0 版本有了明顯的性能改進,通過添加對 JSON(和其他類型)的支持擴展了與 PostgreSQL 的兼容性,還提供了生產環境的跨區域集群管理功能。CockroachDB v2.1 的路線圖中包含了基於成本的查詢優化器(用於查詢性能的改進)、相關子查詢(ORM)、更好地支持模式變更以及企業版產品的加密。

Vitess

Vitess 是通過分片實現 MySQL 水平擴展的數據庫集群系統,主要使用 Go 語言開發 。Vitess 將 MySQL 的很多重要功能與 NoSQL 數據庫的擴展性結合在一起。它的內置分片功能可以讓用戶在不需要給應用程序添加分片邏輯的情況下對數據庫進行擴展。Vitess 從 2011 年開始就是 YouTube 數據庫基礎設施的核心組件,它已經發展到成千上萬個 MySQL 節點。

Vitess 並沒有使用標準的 MySQL 連接,因為這會消耗很多 RAM,也會限制每個節點的連接數量。它使用了更有效的基於 gRPC 的協議。另外,Vitess 會自動重寫會損害數據庫性能的查詢,通過緩存機制來調解查詢,防止相同的查詢同時進入數據庫。

TiDB

TiDB 是一款兼容 MySQL、支持混合事務和分析處理(HTAP)的分佈式數據庫。它基於事務性鍵值存儲而構建,提供全面的水平擴展性(通過增加節點)以及持續可用性。大多數早期的 TiDB 用戶都在中國,因為 TiDB 的開發者在北京。TiDB 的源代碼主要用 Go 語言編寫。

TiDB 的底層是 RocksDB,RocksDB 是 Facebook 的日誌結構鍵值數據庫引擎,用 C++ 編寫,因此能獲得最好的性能。RocksDB 上面是 Raft 共識層、事務層,然後是支持 MySQL 協議的 SQL 層。

AI 前線技術乾貨:

TiDB 在 360 金融貸款實時風控場景應用

YugaByte DB

YugaByte DB 結合了分佈式 ACID 事務、多區域部署、對 Cassandra 和 Redis API 的支持,對 PostgreSQL 的支持即將推出。相對 Cassandra 而言,YugaByte 是強一致性,而 Cassandra 時最終一致性。YugaByte 的基準測試也比開源的 Cassandra 要好,但比商用的 Cassandra 要差一些,而 DataStax Enterprise 6 具備可調一致性。YugaByte 相當於快速、具有更強一致性的分佈式 Redis 和 Cassandra。它可以對單個數據庫進行標準化處理,比如將 Cassandra 數據庫和 Redis 緩存結合在一起。

Neo4j

Neo4j 圖形數據庫在處理相關性網絡的任務時,執行速度比 SQL 和 NoSQL 數據庫更快,但圖模型和 Cypher 查詢語言需要進行專門的學習。最近,俄羅斯 Twitter 流氓分析、ICIJ 的 Panama Papers 分析以及 Paradise Papers 的分析指出,Neo4j 是非常有價值的。

經過 18 年的開發,Neo4j 已經成為了一個成熟的圖數據庫平台,可以在 Windows、MacOS、Linux、Docker 容器、VM 和集群中運行。即使是 Neo4j 的開源版本也可以處理很大的圖,而在企業版中對圖的大小沒有限制。(開源版本的 Neo4j 只能在一台服務器上運行。)

AI 前線相關報道:

圖數據庫真的比關係數據庫更先進嗎?

InfluxDB

InfluxDB 是沒有外部依賴的開源時間序列數據庫,旨在處理高負載的寫入和查詢,在記錄指標、事件以及進行分析時非常有用。它可以運行在 MacOS、Docker、Ubuntu/Debian、Red Hat/CentOS 和 Windows 平台上。它提供了一個內置的 HTTP API 和 SQL 風格的查詢語言,並旨在提供實時的查詢響應(100 毫秒之內)。

AI 前線相關報道:

TimescaleDB 比拼 InfluxDB:如何選擇合適的時序數據庫?

查看英文原文:

https://www.infoworld.com/article/3306454/big-data/the-best-open-source-software-for-data-storage-and-analytics.html#slide1