大數據利器2018版

類別 名稱
(可重點關注加粗部分)
官網 備註
查詢引擎 Phoenix https://phoenix.apache.org/ Salesforce公司出品,Apache HBase之上的一個SQL中間層,徹底使用Java編寫
Presto http://prestodb.io/ Facebook開源的分佈式SQL查詢引擎,適用於交互式分析查詢,數據量支持GB到PB字節
Shark http://shark.cs.berkeley.edu/ Spark上的SQL執行引擎,已演化成Spark-SQL和Hive on Spark
Pig http://pig.apache.org/ 基於Hadoop MapReduce的腳本語言
Cloudera Impala http://www.cloudera.com/content/cloudera/en/products-and-services/cdh/impala.html 參照Google Dremel實現,能運行在HDFS或HBase上,使用C++開發。Cloudera聲稱,基於SQL的Impala數據庫是面向Apache Hadoop的領先的開源分析數據庫。
Apache Drill https://drill.apache.org/ 參照Google Dremel實現,無主節點的實時的分佈式查詢引擎。兼容ANSI SQL(國際標準SQL語言)語法做爲接口,支持對本地文件,HDFS,HIVE, HBASE,MongeDB做爲存儲的數據查詢,文件格式支持Parquet、CSV、 TSV以及JSON這種無模式無關(schema-free)的數據。
Apache Tajo http://tajo.apache.org/ 一個運行在YARN上支持SQL的分佈式數據倉庫
Kylin http://kylin.apache.org/
http://kylin.apache.org/cn/
一個開源的分佈式分析引擎,提供Hadoop/Spark之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規模數據,最初由eBay Inc. 開發並貢獻至開源社區。它能在亞秒內查詢巨大的Hive表。
Hive http://hive.apache.org/ 基於Hadoop MapReduce的SQL查詢引擎
Calcite https://calcite.apache.org/ 起源於Hive,源名optiq,2014年5月獨立出來後改名爲Calcite,一個動態數據管理框架。它將數據存儲和數據處理分離出去,專一於成爲配置應用與一個或者多個數據存儲位置以及數據處理引擎的中間件。獨立於存儲與執行的SQL解析、優化引擎,普遍應用於各類離線、搜索、實時查詢引擎,如Drill、Hive、Kylin、Solr、flink、Samza等。
流式計算 Facebook Puma   實時數據流分析
Twitter Rainbird   分佈式實時統計系統,如網站的點擊統計
Yahoo S4 http://incubator.apache.org/s4/ Java開發的一個通用的、分佈式的、可擴展的、分區容錯的、可插拔的無主架構的流式系統
jStrom https://github.com/alibaba/jstorm 阿里開源的通過優化的Java版Storm
Flink https://flink.apache.org/ 到2018年,Flink已經很成熟了,生態也逐漸豐富,流式(實時)計算和離線計算通吃
Twitter Storm http://storm.incubator.apache.org/ 使用Java和Clojure實現
迭代計算 Apache Hama https://hama.apache.org/ 創建在Hadoop上基於BSP(Bulk Synchronous Parallel)的計算框架,模仿了Google的Pregel。
Apache Giraph https://giraph.apache.org/ 創建在Hadoop上的可伸縮的分佈式迭代圖處理系統,靈感來自BSP(bulk synchronous parallel)和Google的Pregel
HaLoop https://code.google.com/p/haloop/ 迭代的MapReduce
Apache Tez https://tez.apache.org/ 支持DAG做業的開源計算框架,它能夠將多個有依賴的做業轉換爲一個做業從而大幅提高DAG做業的性能。
Twister http://www.iterativemapreduce.org/ 迭代的MapReduce
圖形數據庫 FlockDB https://github.com/twitter-archive/flockdb 推特開發的FlockDB是一種很是快、擴展性很是好的圖形數據庫,擅長存儲社交網絡數據,最近一次更新時間爲2016年
Neo4j https://neo4j.com/ 基於Java的高性能的NOSQL圖形數據庫,它將結構化數據存儲在網絡上而不是表中
離線計算 Hadoop MapReduce http://hadoop.apache.org/ 經典的大數據批處理系統
Berkeley Spark http://spark.apache.org/
http://shark.cs.berkeley.edu/
使用Scala語言實現,和MapReduce有較大的競爭關係,性能強於MapReduce,也可作離線計算,可是秒級的,不如Flink毫秒級的
Flink https://flink.apache.org/ 和Spark相似的,同時適應於實時計算和離線計算
Apache Ignite http://ignite.apache.org/ 內存數據組織框架是一個高性能、集成化和分佈式的內存計算和事務平臺
DataTorrent http://www.datatorrent.com/ 基於Hadoop2.X構建的實時流式處理和分析平臺,每秒能夠處理超過10億個實時事件
嵌入式DB SQLite https://www.sqlite.org/ 經典的嵌入式SQL庫
Firebird http://www.firebirdsql.org/ 從Interbase派生出來的,支持SQL,支持事務
對象存儲 Ozone https://hadoop.apache.org/ozone/ 2018新增的Hadoop新成員
鍵值存儲 LevelDB https://code.google.com/p/leveldb/ Google開源的高效KV編程庫,注意它只是個庫
RocksDB http://rocksdb.org/ Facebook開源的可嵌入式的支持持久化的key-value存儲系統,基於Google的LevelDB,但提升了擴展性能夠運行在多核處理器上
HyperDex http://hyperdex.org/ 下一代KV存儲系統,支持strings、integers、floats、lists、maps和sets等豐富的數據類型
TokyoCabinet http://fallabs.com/tokyocabinet/ 日本人Mikio Hirabayashi(平林幹雄)開發的一款DBM數據庫,注意它只是個庫(大名鼎鼎的DBM數據庫qdbm就是Mikio Hirabayashi開發的),讀寫很是快
Voldemort http://www.project-voldemort.com/voldemort/ 一個分佈式鍵值存儲系統,是Amazon Dynamo的一個開源克隆,LinkedIn開源
Amazon Dynamo https://github.com/dynamo/dynamo 亞馬遜的KV模式的存儲平臺,無主架構
Tair http://tair.taobao.org/ 淘寶出品的高性能、分佈式、可擴展、高可靠的KV結構存儲系統,專爲小文件優化,並提供簡單易用的接口(相似Map),Tair支持Java和C版本的客戶端
TiKV https://github.com/tikv/tikv Rust 語言編寫的分佈式鍵值系統(KVS),它採用Raft協議保證數據的強一致性,同時使用MVCC+2PC的方式實現了分佈式事務的支持
Apache Accumulo https://accumulo.apache.org/ 一個可靠的、可伸縮的、高性能的排序分佈式的KV存儲系統,參照Google Bigtable而設計,創建在Hadoop、Thrift和Zookeeper之上。
Anna https://github.com/ucbrise/anna 伯克利RISE實驗室(RISE實驗室的前身是赫赫有名的伯克利AMP實驗室,開發了著名的Spark、Mesos、Tachyon等)推出的鍵值存儲數據庫,也是一個具有驚人的存取速度、超強的伸縮性和優秀的一致性的KVS
Redis http://redis.io/ 使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、單機版KV數據庫。從2010年3月15日起,Redis的開發工做由VMware主持
表格存儲 OceanBase https://github.com/alibaba/oceanbase 支持海量數據的高性能分佈式數據庫系統,實現了數千億條記錄、數百TB數據上的跨行跨表事務
Amazon SimpleDB http://aws.amazon.com/cn/simpledb/ 一個可大規模伸縮、用 Erlang 編寫的高可用數據存儲
Vertica http://www.vertica.com/ 惠普2011收購Vertica,Vertica是傳統的關係型數據庫,基於列存儲,同時支持MPP,使用標準的SQL查詢,能夠和Hadoop/MapReduce進行集成
Cassandra http://cassandra.apache.org/ Hadoop成員,Facebook於2008將Cassandra開源,基於O(1)DHT的徹底P2P架構
HyperTable http://hypertable.org/ 搜索引擎公司Zvents針對Bigtable的C++開源實現
FoundationDB https://foundationdb.com/ 支持ACID事務處理的NoSQL數據庫,提供很是好的性能、數據一致性和操做彈性
PaxosStore https://github.com/Tencent/paxosstore 微信出品,參照Google MegaStore實現的分佈式存儲系統,普遍支撐微信在線應用,峯值過億TPS,運行在數千臺服務器上。
MemSQL http://www.memsql.com/ 前Facebook工程師創辦的,號稱世界上最快的分佈式關係型數據庫,兼容MySQL但快30倍,能實現每秒150萬次事務,原理是僅用內存並將SQL預編譯爲C++。
ScyllaDB https://www.scylladb.com/
http://www.scylladb.cn/
由大神KVM之父Avi Kivity建立的NoSQL數據庫,世界級性能領先的NoSQL列存儲數據庫,C++改寫的Cassandra,徹底兼容Apache Cassandra
HBase http://hbase.apache.org/ Bigtable在Hadoop中的實現,最初是Powerset公司爲了處理天然語言搜索產生的海量數據而開展的項目
時間序列數據庫
(TSDB)
openTSDB http://opentsdb.net/ 基於HBase的分佈式的、可伸縮的時間序列數據庫,和Grafana結合使用
KairosDB https://kairosdb.github.io/ 基於Cassandra的分佈式的、可伸縮的時間序列數據庫
Prometheus https://prometheus.io/ 開源的服務監控系統和時序列數據庫,由社交音樂平臺SoundCloud在2012年開發,常和Grafana結合使用
Druid http://druid.io/ 注意不是阿里的Druid,開源的、快速和近實時的海量數據OLAP系統,誕生於Metamarkets,後核心人員創立了IMPLY公司開發Druid及相關產品,按時間來進行分區(Segment),而且是面向列的存儲
RRDtool https://oss.oetiker.ch/rrdtool/ 輪詢式數據庫,適合時間序列的數據
Graphite https://graphiteapp.org/ 時序數據庫,做用是存儲和聚合監控數據並繪製圖標,不負責數據的收集
Pinot https://github.com/linkedin/pinot 來自 Linkedin的開源的實時、分佈式OLAP數據存儲方案
InfluxDB https://github.com/influxdata/influxdb
https://www.influxdata.com/
開源的時序數據庫,使用GO語言開發,特別適合用於處理和分析資源監控數據這種時序相關數據,但集羣版本收費,和Grafana結合使用
文件存儲 CouchDB http://couchdb.apache.org/ 面向文檔的數據存儲,號稱是「一款徹底擁抱互聯網的數據庫」,它將數據存儲在JSON文檔中,這種文檔能夠經過Web瀏覽器來查詢,而且用JavaScript來處理。它易於使用,在分佈式上網絡上具備高可用性和高擴展性。
MongoDB https://www.mongodb.org/ C++ 語言編寫的文檔型數據庫
Alluxio https://www.alluxio.org/ 原名Tachyon,2016更名爲Alluxio,高容錯的之內存爲中心的虛擬的分佈式存儲系統,吞吐量要比HDFS高300多倍。加州大學伯克利分校的AMPLab基於Hadoop的核心組件開發出一個更快的版本Tachyon,它從底層重構了Hadoop平臺。
KFS http://code.google.com/p/kosmosfs/ GFS的C++開源版本
HDFS http://hadoop.apache.org/ GFS在Hadoop中的實現
資源管理 Twitter Mesos http://mesos.apache.org/ 開源分佈式資源管理框架,它被稱爲是分佈式系統的內核。最初是由加州大學伯克利分校的AMPLab開發的,後在Twitter獲得普遍使用。
Hadoop Yarn http://hadoop.apache.org/ 相似於Mesos
日誌收集系統 Facebook Scribe https://github.com/facebook/scribe Facebook開源的日誌收集系統,可以從各類日誌源上收集日誌,存儲到一箇中央存儲系統(能夠是NFS,分佈式文件系統等)上,以便於進行集中統計分析處理,常與Hadoop結合使用,Scribe用於向HDFS中Push日誌
Cloudera Flume http://flume.apache.org/ Cloudera提供的日誌收集系統,支持對日誌的實時性收集
Logstash http://www.logstash.net/ 日誌管理、分析和傳輸工具,可配合kibana、ElasticSearch組建成日誌查詢系統
Kibana http://www.elasticsearch.org/overview/kibana/ 爲日誌提供友好的Web查詢頁面
消息系統 StormMQ http://stormmq.com/ 基於netty的消息隊列,Java語言開發
RocketMQ https://rocketmq.apache.org/ 阿里開源的相似於Kafka的分佈式消息隊列
ZeroMQ http://zeromq.org/ 很底層的高性能網絡庫
RabbitMQ https://www.rabbitmq.com/ 在AMQP基礎上完整的,可複用的企業消息系統
Apache ActiveMQ http://activemq.apache.org/ 能力強勁的開源消息總線
PhxQueue https://github.com/Tencent/phxqueue 微信開源的一款基於Paxos協議實現的高可用、高吞吐和高可靠的分佈式隊列,保證At-Least-Once Delivery。在微信內部普遍支持微信支付、公衆平臺等多個重要業務。
Jafka https://github.com/adyliu/jafka Java版本開源的、高性能的跨語言Kafka,最先是由Apache孵化的Kafka(由LinkedIn捐助給Apache)克隆而來
Pulsar https://pulsar.apache.org/ 由雅虎開發並開源的下一代消息系統,Kafka的競品
Apache Kafka http://kafka.apache.org/ Linkedin於2010年12月份開源的分佈式消息系統,它主要用於處理活躍的流式數據,由Scala寫成
分佈式服務 ZooKeeper http://zookeeper.apache.org/ 分佈式鎖服務,PoxOS算法的實現,對應Google的Chubby
rethinkdb https://github.com/rethinkdb/rethinkdb  設計用來存儲 JSON 文檔的分佈式數據庫,可經過簡單操做實現多機分佈式存儲。支持表的聯合和分組查詢。 特色: 簡單編程模型 JSON 數據模型和一致性 分佈式聯合查詢、子查詢、聚合查詢和原子更新操做 Hadoop 風格的 map/reduce
Nacos https://github.com/alibaba/nacos 阿里開源的一個更易於構建雲原生應用的動態服務發現、配置和服務管理平臺
PhxPaxos https://github.com/tencent-wechat/phxpaxos 微信後臺團隊自主研發的一套基於Paxos協議的多機狀態拷貝類庫。它以庫函數的方式嵌入到開發者的代碼當中, 使得一些單機狀態服務能夠擴展到多機器,從而得到強一致性的多副本以及自動容災的特性。 這個類庫在微信服務裏面通過一系列的工程驗證,而且咱們對它進行過大量的惡劣環境下的測試,使其在一致性的保證上更爲健壯。
QJM http://hadoop.apache.org/ Hadoop內置的JournalNode,用於NameNode元數據容災,存儲NameNode元數據日誌,節點間的數據同步能夠考慮
Bookeeper https://bookkeeper.apache.org/ 和JournalNode相似
etcd https://github.com/coreos/etcd 一個高可用的鍵值存儲系統,主要用於共享配置和服務發現。etcd是由CoreOS開發並維護的,靈感來自於 ZooKeeper 和 Doozer,它使用Go語言編寫,並經過Raft一致性算法處理日誌複製以保證強一致性。
RPC Apache Avro http://avro.apache.org/ Hadoop中的RPC
PhxRPC https://github.com/tencent-wechat/phxrpc 微信後臺團隊推出的一個很是簡潔小巧的基於Protobuf的RPC框架(實現語言爲C++),編譯生成的庫只有450K
sofa-pbrpc https://github.com/baidu/sofa-pbrpc 百度開源的,基於Protobuf的C++實現的RPC
Dubbo https://dubbo.incubator.apache.org 阿里開源的RPC,實現語言爲Java
gRPC http://www.grpc.io/
https://github.com/grpc/grpc
一個高性能、通用的開源RPC框架,其由Google主要面向移動應用開發並基於HTTP/2協議標準而設計,基於ProtoBuf(Protocol Buffers)序列化協議開發,且支持衆多開發語言。
Finagle https://twitter.github.io/finagle/ Twitter基於Netty開發的支持容錯的、協議無關的RPC框架
Thrift http://thrift.apache.org/ RPC,支持C++/Java/PHP等衆多語言
集羣管理 Nagios http://www.nagios.org/ 監視系統運行狀態和網絡信息的監視系統
CDAP https://github.com/caskdata/cdap CAST DATA APPLICATION PLATFORM,開源的大數據應用統一集平臺,幫助應用開發者和系統管理員基於Hadoop技術棧來構建、測試、部署、管理數據應用程序,由Datasets、Programs、 Services、Tools等組件組成。
Hue http://gethue.com/ 開源的Apache Hadoop UI系統,由Cloudera Desktop演化而來
Ganglia http://ganglia.sourceforge.net/ UC Berkeley發起的一個開源集羣監視項目,設計用於測量數以千計的節點。
Ranger https://hortonworks.com/apache/ranger/ 一個集中式安全管理框架,它能夠對Hadoop生態的組件如Hive、Hbase進行細粒度的數據訪問控制。經過操做Ranger控制檯,管理員能夠輕鬆的經過配置策略來控制用戶訪問HDFS文件夾、HDFS文件、數據庫、表、字段權限。這些策略能夠爲不一樣的用戶和組來設置,同時權限可與hadoop無縫對接。
Kafka Manager https://github.com/yahoo/kafka-manager Web可視化Kafka管理軟件
osquery https://osquery.io/ Facebook開源的一個SQL驅動操做系統檢測和分析工具,支持像SQL語句同樣查詢系統的各項指標,能夠用於OSX和Linux操做系統,它使得底層操做系統分析和監控性能更加直觀
Apache Ambari http://ambari.apache.org/ 一種基於Web的工具,支持Apache Hadoop集羣的供應、管理和監控。Ambari已支持大多數Hadoop組件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。
基礎設施 SSTable   源於Google,orted String Table
RecordIO   源於Google
Flat Buffers https://github.com/google/flatbuffers 針對遊戲開發的,高效的跨平臺序列化庫,相比Proto Buffers開銷更小,由於Flat Buffers沒有解析過程
Protocol Buffers http://code.google.com/p/protobuf/ Google公司開發的一種數據描述語言,相似於XML可以將結構化數據序列化,可用於數據存儲、通訊協議等方面。它不依賴於語言和平臺而且可擴展性極強。
Consistent Hashing   1997年由麻省理工學院提出,目標是爲了解決因特網中的熱點(Hot spot)問題,初衷和CARP十分相似,基本解決了在P2P環境中最爲關鍵的問題——如何在動態的網絡拓撲中分佈存儲和路由。
Netty http://netty.io/ JBOSS提供的一個java開源框架,提供異步的、事件驅動的網絡應用程序框架,用以快速開發高性能、高可靠性的網絡服務器和客戶端程序。
Seastar http://seastar.io/ 現代硬件上的高性能C++異步框架,Scylla徹底基於Seastar庫,KVM之父Avi Kivity大神建立
Proxygen https://github.com/facebook/proxygen Facebook開源的支持SPDY 3.1的HTTP框架
libPhenom https://github.com/facebook/libphenom Facebook發佈的一個C語言事件框架,用於構建高性能和高可擴展的系統。支持多線程、提供內存管理和經常使用數據結構、json處理。
BloomFilter   布隆過濾器,1970年由布隆提出,是一個很長的二進制矢量和一系列隨機映射函數,能夠用於檢索一個元素是否在一個集合中,優勢是空間效率和查詢時間都遠遠超過通常的算法,缺點是有必定的誤識別率和刪除困難。
搜索引擎 Nutch https://nutch.apache.org/ 開源Java 實現的搜索引擎,誕生Hadoop的地方。
Lucene http://lucene.apache.org/ 一套信息檢索工具包,但並不包含搜索引擎系統,它包含了索引結構、讀寫索引工具、相關性工具、排序等功能。
SolrCloud   基於Solr和Zookeeper的分佈式搜索, Solr4.0 的核心組件之一,主要思想是使用 Zookeeper 做爲集羣的配置信息中心
Solr https://lucene.apache.org/solr/ Solr是基於Lucene的搜索。
ElasticSearch http://www.elasticsearch.org/
http://www.elasticsearch.cn/
開源的(Apache2協議),分佈式的,RESTful的,構建在Apache Lucene之上的的搜索引擎。
Sphinx http://sphinxsearch.com 一個基於SQL的全文檢索引擎,可結合MySQL、PostgreSQL作全文檢索,可提供比數據庫自己更專業的搜索功能,單一索引可達1億條記錄,1000萬條記錄狀況下的查詢速度爲0.x秒(毫秒級)。
SenseiDB http://senseidb.com Linkin公司開發的一個開源分佈式實時半結構化數據庫,在全文索引的基礎封裝了Browse Query Language (BQL,相似SQL)的查詢語法。
數據挖掘 Mahout http://mahout.apache.org/ Hadoop成員,目標是創建一個可擴展的機器學習庫
Iaas OpenStack https://www.openstack.org/ 美國國家航空航天局和Rackspace合做研發的,以Apache許可證受權雲平臺管理的項目,它不是一個軟件。這個項目由幾個主要的組件組合起來完成一些具體的工做,旨在爲公共及私有云的建設與管理提供軟件的開源項目。6個核心項目:Nova(計算,Compute),Swift(對象存儲,Object),Glance(鏡像,Image),Keystone(身份,Identity),Horizon(自助門戶,Dashboard),Quantum & Melange(網絡&地址管理),另外還有若干社區項目,如Rackspace(負載均衡)、Rackspace(關係型數據庫)。
Docker http://www.docker.io/ 應用容器引擎,讓開發者可打包應用及依賴包到一個可移植的容器中,而後發佈到Linux機器上,也可實現虛擬化。
Kubernetes https://github.com/GoogleCloudPlatform/kubernetes/ 由Google開源的,Docker編寫的容器編排引擎,支持自動化部署、大規模可伸縮、應用容器化管理。支持公有云,私有云,混合雲,多重雲。簡稱K8s,是用8代替8個字符「ubernete」而成的縮寫。是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單而且高效(powerful),Kubernetes提供了應用部署,規劃,更新,維護的一種機制。ETCD是Kubernetes提供默認的存儲系統,保存全部集羣數據。
Imctfy https://github.com/google/Imctfy/ Google開源的Linux容器
關係數據庫 PhxSQL https://github.com/tencent-wechat/phxsql 微信開源的基於MySQL的強一致高可用分佈式數據庫
TiDB https://github.com/pingcap/tidb TiDB 是 PingCAP 公司受 Google Spanner / F1 論文啓發而設計的開源分佈式 HTAP (Hybrid Transactional and Analytical Processing) 數據庫,目標是爲 OLTP(Online Transactional Processing) 和 OLAP (Online Analytical Processing) 場景提供一站式的解決方案。
機器學習 TensorFlow https://www.tensorflow.org
https://www.tensorflow.org/?hl=zh-cn
最初是由 Google Brain 團隊(隸屬於 Google 的 AI 部門)中的研究人員和工程師開發的,可爲機器學習和深度學習提供強力支持,而且其靈活的數值計算核心普遍應用於許多其餘科學領域。
Sonnect https://github.com/deepmind/sonnet 基於TensorFlow的神經網絡庫
Facets https://pair-code.github.io/facets/ 谷歌開源機器學習可視化工具
Kubeflow https://github.com/kubeflow/kubeflow 讓Kubernetes集羣具有機器學習能力,致力於在 Kubernetes 上讓 ML(Machine Learning)堆棧變得簡單、快速、可擴展
OpenFermion https://github.com/quantumlib/OpenFermion Google開源量子計算軟件
TonY https://github.com/linkedin/TonY LinkedIn開發的在Hadoop上天然運行TensorFlow的框架,核心理念是像MapReduce和Spark同樣,使TensorFlow能夠在Hadoop上以可靠、靈活的方式運行
TensorFlow Fold https://github.com/tensorflow/fold 深度學習動態計算圖工具
微服務 helidon https://github.com/oracle/helidon Oracle推出的輕量級Java微服務框架
Lstio https://istio.io/ 谷歌,IBM和Lyft開源大型微服務系統管理工具
協程 libco https://github.com/Tencent/libco 微信後臺大規模使用的c/c++協程庫,2013年至今穩定運行在微信後臺的數萬臺機器上。無需侵入業務邏輯,把多進程、多線程服務改形成協程服務,併發能力獲得百倍提高。支持CGI框架,輕鬆構建web服務。使用hook技術讓連接進程序的同步的第三方庫變爲異步調用,大大提高其性能。
libgo https://github.com/yyzybb537/libgo 使用C++11編寫的協做式調度的stackful協程庫, 同時也是一個強大易用的並行編程庫。提供golang通常功能強大協程,基於corontine編寫代碼,能夠以同步的方式編寫簡單的代碼,同時得到異步的性能。支持海量協程, 建立100萬個協程只需使用4.5GB物理內存。使用hook技術讓連接進程序的同步的第三方庫變爲異步調用,大大提高其性能。
libtask https://swtch.com/libtask/ C實現的協程庫, 經過一兩千行代碼就實現了協程調度、延遲調度以及Channel的功能
state-threads https://sourceforge.net/projects/state-threads/ 一個基於setjmp/longjmp實現的C語言版用戶線程庫或協程庫(user level thread)
Protothreads http://dunkels.com/adam/pt/ 「蠅量級」的協程庫,針對C語言封裝後的宏函數庫,爲C語言模擬了一種無堆棧的輕量線程環境,可以實現模擬線程的條件阻塞、信號量操做等操做系統中特有的機制,從而使程序實現多線程操做。
編程語言 Kotlin https://kotlinlang.org/ 現代多平臺應用的靜態編程語言,由JetBrains(Java IDE IntelliJ的提供商)開發。能夠編譯成Java字節碼,也能夠編譯成JavaScript,方便在沒有JVM的設備上運行,爲Android官方支持開發語言。比Java更安全,可以靜態檢測常見的陷阱,被稱之爲Android世界的Swift。
Julia https://julialang.org/ 集Python、C++和R爲一體,面向科學計算的高性能動態高級程序設計語言,可用於天文圖像分析、自動駕駛汽車、機器人、3D打印、精準醫療、加強現實、基因組學、風險管理等,主要應用於數據可視化、通用計算、數據科學、機器學習、科學領域、並行計算六大領域。
Rockstar https://github.com/dylanbeattie/rockstar 圖靈完備的能寫出詩歌般代碼的動態編程語言,用它寫下的不只僅是一行行可執行的代碼,仍是一首青春的讚美語——就像是它的名字同樣,搖滾明星。
Rust https://www.rust-lang.org 由Mozilla研究室主導開發的一門現代系統編程語言,Rust是一種系統編程語言,它有着驚人的運行速度,可以防止段錯誤,並保證線程安全。
Scala https://www.scala-lang.org/ 典型做品:Kafka,運行在JVM上的多範式的類Java編程語言,集成面向對象編程和函數式編程的各類特性。
Clojure https://clojure.org/ 典型做品:Storm,運行在JVM上的動態函數式編程語言,語法接近於LISP語言,Lisp是一種以表達性和功能強大著稱的編程語言
GO https://golang.org/ 典型做品:Docker、Kubernetes
相關文章
相關標籤/搜索