Cassandra SUXX?

User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Cassandra SUXX?

Post by Dmitry67 »

На работе посвящаю какое то время развитию, чтобы не заржавели мозги
Так как я базюк (MS SQL), то смотрю в сторону нового, NoSQL
Поигрался (на одном ноде) с Cassandra. Впрочем, она проста, легка для одного нода там собственно нечего делать. решил сбацать кластер с многими нодами (собственно, ради этого она и существует). И тут мне подложили убийственную статью:

https://aphyr.com/posts/294-call-me-maybe-cassandra

Шок
Вероятно все это слишком сырое и глючное чтобы тратить на это время
Вычеркиваем
Какие советы, что вместо нее?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Cassandra SUXX?

Post by valchkou »

Dmitry67 wrote:На работе посвящаю какое то время развитию, чтобы не заржавели мозги
Так как я базюк (MS SQL), то смотрю в сторону нового, NoSQL
Поигрался (на одном ноде) с Cassandra. Впрочем, она проста, легка для одного нода там собственно нечего делать. решил сбацать кластер с многими нодами (собственно, ради этого она и существует). И тут мне подложили убийственную статью:

https://aphyr.com/posts/294-call-me-maybe-cassandra

Шок
Вероятно все это слишком сырое и глючное чтобы тратить на это время
Вычеркиваем
Какие советы, что вместо нее?
Dmitry67 ваш подход не совсем верный, потому и статьи вас пугают.
вы пытаетесь изучить сам инструмент, без понимания как его правильно использовать.
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.
Muddy Brunch
Уже с Приветом
Posts: 131
Joined: 03 Apr 2015 17:21

Re: Cassandra SUXX?

Post by Muddy Brunch »

Работаю с Кассандрой полтора года. Сказать, что она сырая - не сказать ничего. Глючит все что только можно, по памяти, на последней версии :
- 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!
Я закуриваю, только когда выпью. А выпиваю я беспрерывно. Поэтому многие ошибочно думают, что я курю.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Cassandra SUXX?

Post by valchkou »

Muddy Brunch wrote: NEVER use Cassandra!
какие порекомендуете альтернативы ? чтобы было Active-Active из коробки
Muddy Brunch
Уже с Приветом
Posts: 131
Joined: 03 Apr 2015 17:21

Re: Cassandra SUXX?

Post by Muddy Brunch »

valchkou wrote:
Muddy Brunch wrote: NEVER use Cassandra!
какие порекомендуете альтернативы ? чтобы было Active-Active из коробки
Рекомендовать я ничего не буду, в существенной степени это зависит от задачи, скажу лишь что существует большой выбор Distributed DBS, в том числе бесплатных, в том числе NoSql.

Касаемо Cassandra, то с моей субъективной точки зрения, ее качество не позволят говорить что этот продукт, хотя ему уже более 7 лет, так и недостиг статуса production.
Я закуриваю, только когда выпью. А выпиваю я беспрерывно. Поэтому многие ошибочно думают, что я курю.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Cassandra SUXX?

Post by valchkou »

Muddy Brunch wrote: Рекомендовать я ничего не буду, в существенной степени это зависит от задачи, скажу лишь что существует большой выбор Distributed DBS, в том числе бесплатных, в том числе NoSql.
есть у нас задача под которую касандра подходит по всем параметрам, все это пока на стадии прототипа,
как альтернатива рассматриваем coachbase.
проблема как раз в том, что не известно еще чем другие то лучше.
их послушать, так у каждого самая самая и бенчмарки чудным образом всегда лучше конкурентов.
7 лет для ДБ не срок, оракл свою уже более 40(?) лет допиливает и до сих пор не фонтан
Muddy Brunch
Уже с Приветом
Posts: 131
Joined: 03 Apr 2015 17:21

Re: Cassandra SUXX?

Post by Muddy Brunch »

valchkou wrote:
Muddy Brunch wrote: Рекомендовать я ничего не буду, в существенной степени это зависит от задачи, скажу лишь что существует большой выбор Distributed DBS, в том числе бесплатных, в том числе NoSql.
есть у нас задача под которую касандра подходит по всем параметрам, все это пока на стадии прототипа,
как альтернатива рассматриваем coachbase.
проблема как раз в том, что не известно еще чем другие то лучше.
их послушать, так у каждого самая самая и бенчмарки чудным образом всегда лучше конкурентов.
7 лет для ДБ не срок, оракл свою уже более 40(?) лет допиливает и до сих пор не фонтан
Понимаю ваши проблемы. У нас CASSANDRA был выбрана в организации как часть стратегии по миграции на современныe технологии. У нас несколько проектов на CASSANDRA и несколькo нa MongoDB. Так я не слышал отрицaтельных отзывов по Mongo и положительных по CASSANDRe. Насчет нее плюются все, не преувеличиваю ни сколько :angry: .

Что меня удвляeт, это то что в инете отрицательных комментариев по ней не много, как заговор какой-то. Может DataStax все трет, и баги в CASSANDRAy пихает, чтобы зарабатывать на консалтинге :twisted:
Я закуриваю, только когда выпью. А выпиваю я беспрерывно. Поэтому многие ошибочно думают, что я курю.
Kirhist
Новичок
Posts: 66
Joined: 04 Mar 2012 10:35

Re: Cassandra SUXX?

Post by Kirhist »

Мы тестируем Cassandra в pre-production и рассчитываем скоро выкатить на продакшен. Некоторые из описанных проблем встречали, но для нашего случая они некритичны. После некоторой настройки и допиливания напильником должно полететь :)
На счет coachbase мы тоже думали, но мне показалось, что Cassandra постабильнее будет... Интересно было бы почитать впечатления тех, кто пользовался.
User avatar
DMAlex
Уже с Приветом
Posts: 1827
Joined: 09 Feb 2001 10:01
Location: Boston, MA, USA

Re: Cassandra SUXX?

Post by DMAlex »

valchkou wrote:
Muddy Brunch wrote: NEVER use Cassandra!
какие порекомендуете альтернативы ? чтобы было Active-Active из коробки
Ушли с Кассандры на Elastic Search, год полета, только положительные впечатления.
...will release the power of QUAKEning!
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Cassandra SUXX?

Post by valchkou »

DMAlex wrote:
valchkou wrote:
Muddy Brunch wrote: NEVER use Cassandra!
какие порекомендуете альтернативы ? чтобы было Active-Active из коробки
Ушли с Кассандры на Elastic Search, год полета, только положительные впечатления.
ссылку на продукт дайте пожалуйста.
Easbayguy
Уже с Приветом
Posts: 10632
Joined: 17 Jul 2003 22:11

Re: Cassandra SUXX?

Post by Easbayguy »

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!
Есче прикольно когда приходится делать любю статистицу за день, сначала выбираем быстренько ключи из орацлавской базы за день, миллионов 60, а потом по ключам вытаскиваем эти записи из Кассандры и долго материмся.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
Easbayguy
Уже с Приветом
Posts: 10632
Joined: 17 Jul 2003 22:11

Re: Cassandra SUXX?

Post by Easbayguy »

Muddy Brunch wrote: Понимаю ваши проблемы. У нас CASSANDRA был выбрана в организации как часть стратегии по миграции на современныe технологии. У нас несколько проектов на CASSANDRA и несколькo нa MongoDB. Так я не слышал отрицaтельных отзывов по Mongo и положительных по CASSANDRe. Насчет нее плюются все, не преувеличиваю ни сколько :angry: .

Что меня удвляeт, это то что в инете отрицательных комментариев по ней не много, как заговор какой-то. Может DataStax все трет, и баги в CASSANDRAy пихает, чтобы зарабатывать на консалтинге :twisted:
Подождите когда в Монго будет террабайтов 5-10 часто обновляющихся данных.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
DMAlex
Уже с Приветом
Posts: 1827
Joined: 09 Feb 2001 10:01
Location: Boston, MA, USA

Re: Cassandra SUXX?

Post by DMAlex »

valchkou wrote:
DMAlex wrote:
valchkou wrote:
Muddy Brunch wrote: NEVER use Cassandra!
какие порекомендуете альтернативы ? чтобы было Active-Active из коробки
Ушли с Кассандры на Elastic Search, год полета, только положительные впечатления.
ссылку на продукт дайте пожалуйста.
www.elastic.co... [sic] not com :)
...will release the power of QUAKEning!
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Cassandra SUXX?

Post by valchkou »

DMAlex wrote:
valchkou wrote:
DMAlex wrote:
valchkou wrote:
Muddy Brunch wrote: NEVER use Cassandra!
какие порекомендуете альтернативы ? чтобы было Active-Active из коробки
Ушли с Кассандры на Elastic Search, год полета, только положительные впечатления.
ссылку на продукт дайте пожалуйста.
http://www.elastic.co... [sic] not com :)
спасибо, читаю доки и не могу понять, они свою бд нарисовали? или поверх монго?
деталей в доках не много, но, то что прочитал про архитектуру БД прям как будто про монго читаю.
Easbayguy
Уже с Приветом
Posts: 10632
Joined: 17 Jul 2003 22:11

Re: Cassandra SUXX?

Post by Easbayguy »

valchkou wrote: спасибо, читаю доки и не могу понять, они свою бд нарисовали? или поверх монго?
деталей в доках не много, но, то что прочитал про архитектуру БД прям как будто про монго читаю.
Ех помню баловались в молодости Lucene search, а теперь поверх него Ellastic search написали.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
java.io
Уже с Приветом
Posts: 536
Joined: 25 Sep 2006 21:15

Re: Cassandra SUXX?

Post by java.io »

Easbayguy wrote:
valchkou wrote: спасибо, читаю доки и не могу понять, они свою бд нарисовали? или поверх монго?
деталей в доках не много, но, то что прочитал про архитектуру БД прям как будто про монго читаю.
Ех помню баловались в молодости Lucene search, а теперь поверх него Ellastic search написали.
No, Cassandra has nothing to do with Mongo,
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.
Image
Easbayguy
Уже с Приветом
Posts: 10632
Joined: 17 Jul 2003 22:11

Re: Cassandra SUXX?

Post by Easbayguy »

java.io wrote:
Easbayguy wrote:
valchkou wrote: спасибо, читаю доки и не могу понять, они свою бд нарисовали? или поверх монго?
деталей в доках не много, но, то что прочитал про архитектуру БД прям как будто про монго читаю.
Ех помню баловались в молодости Lucene search, а теперь поверх него Ellastic search написали.
No, Cassandra has nothing to do with Mongo,
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.
Знаете, когда в этом видео взрослый человек с умным видом говорит что "Always try rolling upgrades in a testing enviroment" то к нему трудно серьезно относиться. Обычно, если человек выкатит upgrade и положит site без тестирования, его просто увольняют.
50TB of data, 300 nodes. Одна тормозная нода может подвесить весь кластер изза проблем с координатором, те же грабли до сих пор.
Предлагается решение когда клиент сам определяет в какой ноде данные. Ну и много веселого.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
java.io
Уже с Приветом
Posts: 536
Joined: 25 Sep 2006 21:15

Re: Cassandra SUXX?

Post by java.io »

Easbayguy 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.

http://datastax.github.io/ruby-driver/f ... ken_aware/" onclick="window.open(this.href);return false;
Image
Easbayguy
Уже с Приветом
Posts: 10632
Joined: 17 Jul 2003 22:11

Re: Cassandra SUXX?

Post by Easbayguy »

java.io wrote:
Easbayguy 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.

http://datastax.github.io/ruby-driver/f ... ken_aware/" onclick="window.open(this.href);return false;
Вы прям как местный евангелист ссылками стреляете.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
java.io
Уже с Приветом
Posts: 536
Joined: 25 Sep 2006 21:15

Re: Cassandra SUXX?

Post by java.io »

Easbayguy wrote:...Вы прям как местный евангелист ссылками стреляете.
Words only is a good approach, as long as the involved parts know something about Cassandra mechanics.
Image
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Cassandra SUXX?

Post by Сабина »

Мне тоже Кассандра еще больше понравилась после ознакомления со Спарком.
https://www.youtube.com/watch?v=wOwblaKmyVw
Easbayguy
Уже с Приветом
Posts: 10632
Joined: 17 Jul 2003 22:11

Re: Cassandra SUXX?

Post by Easbayguy »

Сабина wrote:Мне тоже Кассандра еще больше понравилась после ознакомления со Спарком.
Если вам платят бонусы за выкаченные фичи, то нормально, если как у нас привязаны к uptime/100% availability/revenue
то не очень.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Cassandra SUXX?

Post by Сабина »

Easbayguy wrote:
Сабина wrote:Мне тоже Кассандра еще больше понравилась после ознакомления со Спарком.
Если вам платят бонусы за выкаченные фичи, то нормально, если как у нас привязаны к uptime/100% availability/revenue
то не очень.
Я вас правильно поняла что продукт сырой, необкатанный ? Ну наверное, оно ж все новое относительно
https://www.youtube.com/watch?v=wOwblaKmyVw
Easbayguy
Уже с Приветом
Posts: 10632
Joined: 17 Jul 2003 22:11

Re: Cassandra SUXX?

Post by Easbayguy »

Сабина wrote:
Easbayguy wrote:
Сабина wrote:Мне тоже Кассандра еще больше понравилась после ознакомления со Спарком.
Если вам платят бонусы за выкаченные фичи, то нормально, если как у нас привязаны к uptime/100% availability/revenue
то не очень.
Я вас правильно поняла что продукт сырой, необкатанный ? Ну наверное, оно ж все новое относительно
Для большинства проектов в долине подходит с точки зрения девелоперов.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
java.io
Уже с Приветом
Posts: 536
Joined: 25 Sep 2006 21:15

Re: Cassandra SUXX?

Post by java.io »

java.io wrote:...Words only is a good approach, as long as the involved parts know something about Cassandra mechanics.
... 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.

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;
Easbayguy wrote:
Сабина wrote:Я вас правильно поняла что продукт сырой, необкатанный ? Ну наверное, оно ж все новое относительно
Для большинства проектов в долине подходит с точки зрения девелоперов.
Please read this:
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;
Image

Return to “Вопросы и новости IT”