Crate.io 分布式的Sql數(shù)據(jù)庫

Copy https://crate.io/overview

OverviewUse CasesDocumentationDownloadBlog

OVERVIEW

WHAT IS CRATE?
Crate is an open source, highly scalable, shared-nothing distributed SQL database. Crate offers the scalability and performance of a modern No-SQL database with the power of Standard SQL. Crate’s distributed SQL query engine lets you use the same syntax that already exists in your applications or integrations, and have queries seamlessly executed across the crate cluster, including any aggregations, if needed.
Crate is masterless and simple to install, operate and use. It handles transactional and analytical needs in one single database. Crate has been designed from the ground up to support the huge scale of Web, mobile and IoT applications. Love containers? Crate runs perfectly as stateful container.

High Level Architecture
Crate as stateful container
Crate vs RDMBS
Crate vs other databases
Crate vs MySQL
Crate vs MongoDB
Crate vs MemSQL
Crate vs Elasticsearch
Crate vs Vertica
Crate vs Cassandra
Crate vs CockroachDB
Crate vs SQL on Hadoop

Core Features


Scalable
Crate is horizontally scalable, meaning that you can grow it by adding machines, without a need to re-shuffle, re-index or move data around. Its shared-nothing and masterless architecture means that all nodes are identical, scaling from single-node to multiple nodes with a simple click.

Distributed SQL & Real-time search
Crate’s distributed SQL query engine takes a standard SQL query, deconstructs it and executes it in a distributed fashion on the crate cluster (think mapreduce in real time). It then collects the results and performs aggregations, if needed, resulting in super-fast query performance, with only your original SQL query to go by. Crate offers powerful native full text search features and its distributed SQL query engine allows search and aggregations (group by…) in milliseconds.

Highly available
Loosing disks, a node, or even multiple nodes in a Crate cluster are automatically repaired. No operational effort required. Crate′s masterless, shared nothing architecture (all nodes are equal, no master, no roles) also makes scaling up and down super easy. Tweakable automatic sharding and replication allow worry-free backend operations. Self-healing after node failure and rolling updates make sure your queries run always and forever. New nodes join automatically the cluster, and the data gets balanced among available nodes. If parts of data get lost, Crate will re-create the data from the replication shards automatically.

Real-time ingestion
Most analytic workloads get ingested in batch loads, often with transactional locks and other overhead. Crate allows lock-free ingestion with massive write performance (e.g. with peaks of up to 4.5mio (IoT) inserts per second, or 40.000+ inserts per second per node on commodity hardware). It still supports millisecond-speed full text search queries, even when the writes are in action.

Any data and BLOBs
Crate′s columnar store supports both relational data, as well as nested json-documents, where all nested attributes can be included in any SQL command. In addition, Crate provides BLOB storage so you can persistently store and retrieve BLOBs – typically pictures, videos or large unstructured files - providing a fully distributed cluster solution for BLOB storage.

Timeseries
Since Crate allows the (automatic) creation of partitions (virtual tables) of any table, it effectively gives you separate partitions under the hood, with high performance. They can be queried, moved or deleted like a single table. This makes it perfect for timeseries data (partition by hour, day, week…) and other means of optimizing sharded data.

Geospatial
Store and query geographical information of many kinds using the geo_point and geo_shape types. For fast results use geographic indices with given precision as resolution, or run exact queries with scalar functions like intersects, within, distance.

Dynamic schemas
Contrary to many other scale-out solutions Crate′s schemas are totally flexible. You can add columns anytime without any penalty or re-indexing requirements. This is great for agile development and fast deployments.

Transactional
Crate is eventually consistent but offers transactional semantics. Crate is consistent at row level, so each row is either fully written or not. By offering read-after-write consistency we allow synchronous real time access to single records, immediately after they were written.Example: after posting a form and having written its record, the record will be consistent and immediately available when selecting this primary key across the whole cluster. However if you want to calculate a sum (or other aggregation query) this record may not yet be included in the aggregation, but only a few milliseconds later. Even though Crate does not support ACID transactions with rollbacks etc, it offers Optimistic Concurrency Control by providing an internal versioning, that allows detection and resolution of write conflicts. Just a note: “eventually consistent” means that it is “consistent after a while” and not “perhaps it is consistent and perhaps it isn’t”. Crate is always consistent, it just may take a few milliseconds for that to happen.

Backups
Create repositories (on fs, hdfs, s3, url) to store, manage and restore snapshots. Incremental snapshots can be created anytime and represent the state of the tables in a Crate cluster at the time the Snapshot was created, and can be restored into the cluster anytime.

Open and flexible
Plugin-Architecture - Want to be faster than Crate′s roadmap, or require some application specific functionality? Expand the functionality of Crate by writing your own Plugins.
Microservices - The masterless nature of Crate′s architecture allow to run it perfect in ephemeral environments such as Docker, Kubernetes, CoreOS, Mesosphere. Crate is like ether - an omnipresent, persistent layer for your data, serving all your app containers. Scale your database with your app servers.
Use any language - With drivers provided by Crate (JDBC, Ruby, Python, PHP, ODBC etc.) and drivers from the community (Ado, Erlang etc.) you can use almost any language to work with Crate.
Open Source - Crate is fully written in Java and licensed under the Apache 2.0 License and in addition offers Enterprise licensing (SLA, Indemnification, Bug fix escalation etc).

What Can I Use Crate For?
Enterprises and startups have deployed Crate clusters to power real time analytics (take decisions as data comes in), real time dashboards (network traffic, security events), IoT-backends (sensor data, telemetry data), ad-tech (web traffic), telecom applications (call logs, CDRs) and user-facing Web and Mobile apps (large tables with fast growing and dynamic data).
Our main use-case are:
IoT backends, realtime analytics / interactive realtime dashboards and SQL on Elasticsearch
Generally speaking Crate fits well if:
You require a relational SQL database with document support, highly available and horizontally scalable
Your applications & dashboards require fast search and aggregations in a dynamic environment with fast changing queries.
You need to query data in real time while writing data simultaneously.
You have huge amounts of data (trillions of records in hundreds of TBs)
Your database must be highly available never go down
You want to start small and scale out horizontally as you grow
You want to be faster, more agile and save money on licenses and hardware

Crate isn’t a good choice if you have strong consistency requirements (ACID) and very complex relational schemas (e.g. highly normalized with many tables and many joins).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市徙瓶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艾蓝,死亡現(xiàn)場離奇詭異矢空,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)欺栗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來征峦,“玉大人迟几,你說我怎么就攤上這事±赴剩” “怎么了类腮?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛉加。 經(jīng)常有香客問我蚜枢,道長,這世上最難降的妖魔是什么针饥? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任厂抽,我火速辦了婚禮,結(jié)果婚禮上丁眼,老公的妹妹穿的比我還像新娘筷凤。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布藐守。 她就那樣靜靜地躺著挪丢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卢厂。 梳的紋絲不亂的頭發(fā)上乾蓬,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音慎恒,去河邊找鬼任内。 笑死,一個(gè)胖子當(dāng)著我的面吹牛巧号,可吹牛的內(nèi)容都是我干的族奢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼丹鸿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了棚品?” 一聲冷哼從身側(cè)響起靠欢,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎铜跑,沒想到半個(gè)月后门怪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锅纺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年掷空,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囤锉。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坦弟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出官地,到底是詐尸還是另有隱情酿傍,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布驱入,位于F島的核電站赤炒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏亏较。R本人自食惡果不足惜莺褒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望雪情。 院中可真熱鬧遵岩,春花似錦、人聲如沸旺罢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至正卧,卻和暖如春蠢熄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炉旷。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工签孔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窘行。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓饥追,卻偏偏與公主長得像,于是被迫代替她去往敵國和親罐盔。 傳聞我的和親對象是個(gè)殘疾皇子但绕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • import requests url = 'http://www.ygdy8.com/' headers = {...
    紅小路閱讀 317評(píng)論 0 0
  • 每天堅(jiān)持一點(diǎn)點(diǎn),生活帶來大改變惶看。 剽悍晨讀已經(jīng)默默的陪伴了我們兩個(gè)月了捏顺。 從剽悍晨讀學(xué)到的東西,比我想象的還要多纬黎。...
    Amoy_Amon閱讀 123評(píng)論 2 2