Cassandra SUXX?
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Cassandra SUXX?
На работе посвящаю какое то время развитию, чтобы не заржавели мозги
Так как я базюк (MS SQL), то смотрю в сторону нового, NoSQL
Поигрался (на одном ноде) с Cassandra. Впрочем, она проста, легка для одного нода там собственно нечего делать. решил сбацать кластер с многими нодами (собственно, ради этого она и существует). И тут мне подложили убийственную статью:
https://aphyr.com/posts/294-call-me-maybe-cassandra
Шок
Вероятно все это слишком сырое и глючное чтобы тратить на это время
Вычеркиваем
Какие советы, что вместо нее?
Так как я базюк (MS SQL), то смотрю в сторону нового, NoSQL
Поигрался (на одном ноде) с Cassandra. Впрочем, она проста, легка для одного нода там собственно нечего делать. решил сбацать кластер с многими нодами (собственно, ради этого она и существует). И тут мне подложили убийственную статью:
https://aphyr.com/posts/294-call-me-maybe-cassandra
Шок
Вероятно все это слишком сырое и глючное чтобы тратить на это время
Вычеркиваем
Какие советы, что вместо нее?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Cassandra SUXX?
Dmitry67 ваш подход не совсем верный, потому и статьи вас пугают.Dmitry67 wrote:На работе посвящаю какое то время развитию, чтобы не заржавели мозги
Так как я базюк (MS SQL), то смотрю в сторону нового, NoSQL
Поигрался (на одном ноде) с Cassandra. Впрочем, она проста, легка для одного нода там собственно нечего делать. решил сбацать кластер с многими нодами (собственно, ради этого она и существует). И тут мне подложили убийственную статью:
https://aphyr.com/posts/294-call-me-maybe-cassandra
Шок
Вероятно все это слишком сырое и глючное чтобы тратить на это время
Вычеркиваем
Какие советы, что вместо нее?
вы пытаетесь изучить сам инструмент, без понимания как его правильно использовать.
RDBMS это такой молоток для забивания и гвоздей и шурупов и даже болтов.
Сassandra скорее отвертка. А как известно шуруп легче забить молотком, чем гвоздь закрутить отверткой.
Кассандара инструмент для определенного круга задач.
Модель как правило задизайнена так, что перечисленные в статье проблемы не возникают вообще.
Т.е статья написана без привязки к реальному usecase.
В реальности все не так страшно, разные клиенты не меняют данные с одним и тем же ключем одновременно.
Ну допустим тот же logging. Ключ для такой записи будет скорее всего (hostname, app, timuuid)
трудно представить что один и тот же апп c одного и того же хоста будет вставлять одну и ту же запись через разных клиентов одновременно.
Но если ключ записи сделать (app, timuuid) то вероятность коллизий возрастет. Т.е design matters.
Удаляются записи - ну вообще либо не удаляется, либо автоматически устаревают сами по TTL(time to leave feature).
Если хочется consistency то лучше поглядеть на mongo.
http://www.abramsimon.com/cap-theorem/
Last edited by valchkou on 13 Apr 2015 22:49, edited 1 time in total.
-
- Уже с Приветом
- Posts: 131
- Joined: 03 Apr 2015 17:21
Re: Cassandra SUXX?
Работаю с Кассандрой полтора года. Сказать, что она сырая - не сказать ничего. Глючит все что только можно, по памяти, на последней версии :
- server crash with NullPointerException, during "nodetool repare"
- host "joining" заняло 15 дней в то время как полнaя перегрузкa данныx ~ 30 часов
- данные загружать можно только когда все хосты UP, иначе на других возникнет переполнениe system.hits table, что по дефолту приводит к уходу в даун тоже - и так весь кластер уйдет в даун.
- да даже, SELECT COUNT(*) FROM TABLE; нa работает на последней версии правильно (разные результаты) , a SELECT * FROM TABLE; работает правильно
- иногда виснет клиентский ява дрaйвер, приходится иметь механизм для перезапуска программы
- дефолтный режим "nodetool repare" не работает (lost notification events), приходится переходить нa incremental
Этот только то, что я сразу могу вспомнить, zа минуту.
NEVER use Cassandra!
- server crash with NullPointerException, during "nodetool repare"
- host "joining" заняло 15 дней в то время как полнaя перегрузкa данныx ~ 30 часов
- данные загружать можно только когда все хосты UP, иначе на других возникнет переполнениe system.hits table, что по дефолту приводит к уходу в даун тоже - и так весь кластер уйдет в даун.
- да даже, SELECT COUNT(*) FROM TABLE; нa работает на последней версии правильно (разные результаты) , a SELECT * FROM TABLE; работает правильно
- иногда виснет клиентский ява дрaйвер, приходится иметь механизм для перезапуска программы
- дефолтный режим "nodetool repare" не работает (lost notification events), приходится переходить нa incremental
Этот только то, что я сразу могу вспомнить, zа минуту.
NEVER use Cassandra!
Я закуриваю, только когда выпью. А выпиваю я беспрерывно. Поэтому многие ошибочно думают, что я курю.
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Cassandra SUXX?
какие порекомендуете альтернативы ? чтобы было Active-Active из коробкиMuddy Brunch wrote: NEVER use Cassandra!
-
- Уже с Приветом
- Posts: 131
- Joined: 03 Apr 2015 17:21
Re: Cassandra SUXX?
Рекомендовать я ничего не буду, в существенной степени это зависит от задачи, скажу лишь что существует большой выбор Distributed DBS, в том числе бесплатных, в том числе NoSql.valchkou wrote:какие порекомендуете альтернативы ? чтобы было Active-Active из коробкиMuddy Brunch wrote: NEVER use Cassandra!
Касаемо Cassandra, то с моей субъективной точки зрения, ее качество не позволят говорить что этот продукт, хотя ему уже более 7 лет, так и недостиг статуса production.
Я закуриваю, только когда выпью. А выпиваю я беспрерывно. Поэтому многие ошибочно думают, что я курю.
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Cassandra SUXX?
есть у нас задача под которую касандра подходит по всем параметрам, все это пока на стадии прототипа,Muddy Brunch wrote: Рекомендовать я ничего не буду, в существенной степени это зависит от задачи, скажу лишь что существует большой выбор Distributed DBS, в том числе бесплатных, в том числе NoSql.
как альтернатива рассматриваем coachbase.
проблема как раз в том, что не известно еще чем другие то лучше.
их послушать, так у каждого самая самая и бенчмарки чудным образом всегда лучше конкурентов.
7 лет для ДБ не срок, оракл свою уже более 40(?) лет допиливает и до сих пор не фонтан
-
- Уже с Приветом
- Posts: 131
- Joined: 03 Apr 2015 17:21
Re: Cassandra SUXX?
Понимаю ваши проблемы. У нас CASSANDRA был выбрана в организации как часть стратегии по миграции на современныe технологии. У нас несколько проектов на CASSANDRA и несколькo нa MongoDB. Так я не слышал отрицaтельных отзывов по Mongo и положительных по CASSANDRe. Насчет нее плюются все, не преувеличиваю ни сколько .valchkou wrote:есть у нас задача под которую касандра подходит по всем параметрам, все это пока на стадии прототипа,Muddy Brunch wrote: Рекомендовать я ничего не буду, в существенной степени это зависит от задачи, скажу лишь что существует большой выбор Distributed DBS, в том числе бесплатных, в том числе NoSql.
как альтернатива рассматриваем coachbase.
проблема как раз в том, что не известно еще чем другие то лучше.
их послушать, так у каждого самая самая и бенчмарки чудным образом всегда лучше конкурентов.
7 лет для ДБ не срок, оракл свою уже более 40(?) лет допиливает и до сих пор не фонтан
Что меня удвляeт, это то что в инете отрицательных комментариев по ней не много, как заговор какой-то. Может DataStax все трет, и баги в CASSANDRAy пихает, чтобы зарабатывать на консалтинге
Я закуриваю, только когда выпью. А выпиваю я беспрерывно. Поэтому многие ошибочно думают, что я курю.
-
- Новичок
- Posts: 66
- Joined: 04 Mar 2012 10:35
Re: Cassandra SUXX?
Мы тестируем Cassandra в pre-production и рассчитываем скоро выкатить на продакшен. Некоторые из описанных проблем встречали, но для нашего случая они некритичны. После некоторой настройки и допиливания напильником должно полететь
На счет coachbase мы тоже думали, но мне показалось, что Cassandra постабильнее будет... Интересно было бы почитать впечатления тех, кто пользовался.
На счет coachbase мы тоже думали, но мне показалось, что Cassandra постабильнее будет... Интересно было бы почитать впечатления тех, кто пользовался.
-
- Уже с Приветом
- Posts: 1827
- Joined: 09 Feb 2001 10:01
- Location: Boston, MA, USA
Re: Cassandra SUXX?
Ушли с Кассандры на Elastic Search, год полета, только положительные впечатления.valchkou wrote:какие порекомендуете альтернативы ? чтобы было Active-Active из коробкиMuddy Brunch wrote: NEVER use Cassandra!
...will release the power of QUAKEning!
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Cassandra SUXX?
ссылку на продукт дайте пожалуйста.DMAlex wrote:Ушли с Кассандры на Elastic Search, год полета, только положительные впечатления.valchkou wrote:какие порекомендуете альтернативы ? чтобы было Active-Active из коробкиMuddy Brunch wrote: NEVER use Cassandra!
-
- Уже с Приветом
- Posts: 10632
- Joined: 17 Jul 2003 22:11
Re: Cassandra SUXX?
Есче прикольно когда приходится делать любю статистицу за день, сначала выбираем быстренько ключи из орацлавской базы за день, миллионов 60, а потом по ключам вытаскиваем эти записи из Кассандры и долго материмся.Muddy Brunch wrote:Работаю с Кассандрой полтора года. Сказать, что она сырая - не сказать ничего. Глючит все что только можно, по памяти, на последней версии :
- server crash with NullPointerException, during "nodetool repare"
- host "joining" заняло 15 дней в то время как полнaя перегрузкa данныx ~ 30 часов
- данные загружать можно только когда все хосты UP, иначе на других возникнет переполнениe system.hits table, что по дефолту приводит к уходу в даун тоже - и так весь кластер уйдет в даун.
- да даже, SELECT COUNT(*) FROM TABLE; нa работает на последней версии правильно (разные результаты) , a SELECT * FROM TABLE; работает правильно
- иногда виснет клиентский ява дрaйвер, приходится иметь механизм для перезапуска программы
- дефолтный режим "nodetool repare" не работает (lost notification events), приходится переходить нa incremental
Этот только то, что я сразу могу вспомнить, zа минуту.
NEVER use Cassandra!
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 10632
- Joined: 17 Jul 2003 22:11
Re: Cassandra SUXX?
Подождите когда в Монго будет террабайтов 5-10 часто обновляющихся данных.Muddy Brunch wrote: Понимаю ваши проблемы. У нас CASSANDRA был выбрана в организации как часть стратегии по миграции на современныe технологии. У нас несколько проектов на CASSANDRA и несколькo нa MongoDB. Так я не слышал отрицaтельных отзывов по Mongo и положительных по CASSANDRe. Насчет нее плюются все, не преувеличиваю ни сколько .
Что меня удвляeт, это то что в инете отрицательных комментариев по ней не много, как заговор какой-то. Может DataStax все трет, и баги в CASSANDRAy пихает, чтобы зарабатывать на консалтинге
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 1827
- Joined: 09 Feb 2001 10:01
- Location: Boston, MA, USA
Re: Cassandra SUXX?
www.elastic.co... [sic] not comvalchkou wrote:ссылку на продукт дайте пожалуйста.DMAlex wrote:Ушли с Кассандры на Elastic Search, год полета, только положительные впечатления.valchkou wrote:какие порекомендуете альтернативы ? чтобы было Active-Active из коробкиMuddy Brunch wrote: NEVER use Cassandra!
...will release the power of QUAKEning!
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: Cassandra SUXX?
спасибо, читаю доки и не могу понять, они свою бд нарисовали? или поверх монго?DMAlex wrote:http://www.elastic.co... [sic] not comvalchkou wrote:ссылку на продукт дайте пожалуйста.DMAlex wrote:Ушли с Кассандры на Elastic Search, год полета, только положительные впечатления.valchkou wrote:какие порекомендуете альтернативы ? чтобы было Active-Active из коробкиMuddy Brunch wrote: NEVER use Cassandra!
деталей в доках не много, но, то что прочитал про архитектуру БД прям как будто про монго читаю.
-
- Уже с Приветом
- Posts: 10632
- Joined: 17 Jul 2003 22:11
Re: Cassandra SUXX?
Ех помню баловались в молодости Lucene search, а теперь поверх него Ellastic search написали.valchkou wrote: спасибо, читаю доки и не могу понять, они свою бд нарисовали? или поверх монго?
деталей в доках не много, но, то что прочитал про архитектуру БД прям как будто про монго читаю.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 536
- Joined: 25 Sep 2006 21:15
Re: Cassandra SUXX?
No, Cassandra has nothing to do with Mongo,Easbayguy wrote:Ех помню баловались в молодости Lucene search, а теперь поверх него Ellastic search написали.valchkou wrote: спасибо, читаю доки и не могу понять, они свою бд нарисовали? или поверх монго?
деталей в доках не много, но, то что прочитал про архитектуру БД прям как будто про монго читаю.
Cassandra is built using 2 ideas, its model is based on Google Big Table (HBASE is also based on BigTable ) and its architecture is based on Amazon DynamoDB (Riak also is based on DynamoDB).
Spotify.com is using Cassandra about from the beginning, even with a lot of bugs - they never lost data.
https://www.youtube.com/watch?v=0u-EKJBPrj8" onclick="window.open(this.href);return false;
BTW: Everything sux if it's not used right.
-
- Уже с Приветом
- Posts: 10632
- Joined: 17 Jul 2003 22:11
Re: Cassandra SUXX?
Знаете, когда в этом видео взрослый человек с умным видом говорит что "Always try rolling upgrades in a testing enviroment" то к нему трудно серьезно относиться. Обычно, если человек выкатит upgrade и положит site без тестирования, его просто увольняют.java.io wrote:No, Cassandra has nothing to do with Mongo,Easbayguy wrote:Ех помню баловались в молодости Lucene search, а теперь поверх него Ellastic search написали.valchkou wrote: спасибо, читаю доки и не могу понять, они свою бд нарисовали? или поверх монго?
деталей в доках не много, но, то что прочитал про архитектуру БД прям как будто про монго читаю.
Cassandra is built using 2 ideas, its model is based on Google Big Table (HBASE is also based on BigTable ) and its architecture is based on Amazon DynamoDB (Riak also is based on DynamoDB).
Spotify.com is using Cassandra about from the beginning, even with a lot of bugs - they never lost data.
https://www.youtube.com/watch?v=0u-EKJBPrj8" onclick="window.open(this.href);return false;
BTW: Everything sux if it's not used right.
50TB of data, 300 nodes. Одна тормозная нода может подвесить весь кластер изза проблем с координатором, те же грабли до сих пор.
Предлагается решение когда клиент сам определяет в какой ноде данные. Ну и много веселого.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 536
- Joined: 25 Sep 2006 21:15
Re: Cassandra SUXX?
Not quite, Coordinator is not always the same, the client may get a different coordinator for a subsequent query.Easbayguy wrote:...Одна тормозная нода может подвесить весь кластер изза проблем с координатором, те же грабли до сих пор.
This is already implemented is some Cassandra drivers, they learn the cluster especially about partitioner and replication strategy and can give the client "the most suitable" node as the coordinator.Easbayguy wrote: Предлагается решение когда клиент сам определяет в какой ноде данные. Ну и много веселого.
http://datastax.github.io/ruby-driver/f ... ken_aware/" onclick="window.open(this.href);return false;
-
- Уже с Приветом
- Posts: 10632
- Joined: 17 Jul 2003 22:11
Re: Cassandra SUXX?
Вы прям как местный евангелист ссылками стреляете.java.io wrote:Not quite, Coordinator is not always the same, the client may get a different coordinator for a subsequent query.Easbayguy wrote:...Одна тормозная нода может подвесить весь кластер изза проблем с координатором, те же грабли до сих пор.This is already implemented is some Cassandra drivers, they learn the cluster especially about partitioner and replication strategy and can give the client "the most suitable" node as the coordinator.Easbayguy wrote: Предлагается решение когда клиент сам определяет в какой ноде данные. Ну и много веселого.
http://datastax.github.io/ruby-driver/f ... ken_aware/" onclick="window.open(this.href);return false;
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 536
- Joined: 25 Sep 2006 21:15
Re: Cassandra SUXX?
Words only is a good approach, as long as the involved parts know something about Cassandra mechanics.Easbayguy wrote:...Вы прям как местный евангелист ссылками стреляете.
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Cassandra SUXX?
Мне тоже Кассандра еще больше понравилась после ознакомления со Спарком.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 10632
- Joined: 17 Jul 2003 22:11
Re: Cassandra SUXX?
Если вам платят бонусы за выкаченные фичи, то нормально, если как у нас привязаны к uptime/100% availability/revenueСабина wrote:Мне тоже Кассандра еще больше понравилась после ознакомления со Спарком.
то не очень.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Cassandra SUXX?
Я вас правильно поняла что продукт сырой, необкатанный ? Ну наверное, оно ж все новое относительноEasbayguy wrote:Если вам платят бонусы за выкаченные фичи, то нормально, если как у нас привязаны к uptime/100% availability/revenueСабина wrote:Мне тоже Кассандра еще больше понравилась после ознакомления со Спарком.
то не очень.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 10632
- Joined: 17 Jul 2003 22:11
Re: Cassandra SUXX?
Для большинства проектов в долине подходит с точки зрения девелоперов.Сабина wrote:Я вас правильно поняла что продукт сырой, необкатанный ? Ну наверное, оно ж все новое относительноEasbayguy wrote:Если вам платят бонусы за выкаченные фичи, то нормально, если как у нас привязаны к uptime/100% availability/revenueСабина wrote:Мне тоже Кассандра еще больше понравилась после ознакомления со Спарком.
то не очень.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 536
- Joined: 25 Sep 2006 21:15
Re: Cassandra SUXX?
... as a continuation to my idea, I saw in some posts above people are using "SELECT * FROM table" as examples, this just shows that they are using it for a wrong purpose, also it depends a lot on how the table definition looks like, make sure you understand how CQL tables map to Cassandra native Column Family before running queries.java.io wrote:...Words only is a good approach, as long as the involved parts know something about Cassandra mechanics.
I will just shoot another couple of great in my opinion links:
https://www.youtube.com/watch?v=UP74jC1kM3w" onclick="window.open(this.href);return false;
http://academy.datastax.com/" onclick="window.open(this.href);return false;
Please read this:Easbayguy wrote:Для большинства проектов в долине подходит с точки зрения девелоперов.Сабина wrote:Я вас правильно поняла что продукт сырой, необкатанный ? Ну наверное, оно ж все новое относительно
http://techblog.netflix.com/search/label/Cassandra" onclick="window.open(this.href);return false;
or quickly list through these:
http://planetcassandra.org/apache-cassandra-use-cases/" onclick="window.open(this.href);return false;
http://www.datastax.com/resources/casestudies" onclick="window.open(this.href);return false;