Опрос по NoSQL

  1. Считаете ли вы NoSQL ересью?
  2. Считаете ли вы delayed durability ересью?

Я тут поигрался 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 SELECT * FROM TABLE; работает правильно
- иногда виснет клиентский ява-дрaйвер, приходится иметь механизм для перезапуска программы
- дефолтный режим "nodetool repare" не работает (lost notification events), приходится переходить нa incremental

Этот только то, что я сразу могу вспомнить, за минуту.

NEVER use Cassandra!

Forums: 

Изображение пользователя Serguei_Tarassov.

Поучаствую

Поучаствую в опросе.

NoSQL не является, конечно, никакой "ересью", единственный упрек - неудачное маркетинговое название. Понятие NoSQL объединяет реализации СУБД на основе неполно структурированных моделей данных. Соответственно, обсуждать плюсы и минусы можно лишь сравнивая модели. Фрагмент такого сравнения приведен в книжке. Понятно, что технические моменты, важные для DBA, будут всегда хуже просто из-за недостаточной зрелости реализаций. Это другое сравнение.

Если под delayed durability подразумевается асинхронное подтверждение транзакций, то, опять-таки, этот момент не является религией ACID, а диктуется практическими соображениями. Сам термин "транзакция" появился из финансов, где асинхронный commit неприемлем в принципе. Однако, в других областях, возможно, есть моменты, когда приходится пожертвовать надежностью по целостности ради выигрыша в производительности.

Мои 5 копеек

NoSQL - это не ересь, а маркентговая чушь. Термин приобрел популярность в среде специалистов слабо владющих предметом. Похоже на волшебное заклинание. Стоит произнести "NoSQL" и можно забыть про теорию БД, а большие массивы данных сами собой начнут эффективно отвечать на запросы.
С точки зрения маркетинга термин не удачный, т.к. содержит отрицание.

Повеселили стоны, что в продукте "NoSQL" не работает SQL. :)
По неполностью структуированной базе получается не полностью детерменированный результат. ИМХО, логично.

Delayed durability для меня это "сфрический конь" в вакууме. Если кто знает реальные сценарии, где это может быть полезно без ущерба для безнес-логики приложения, поделитесь.