The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания Bloomberg открыла код распределённой СУБД Comdb2"
Отправлено Аноним, 13-Июн-17 21:33 
> Расскажи, каким образом ACID накладывает ограничение в 2к записей в секунду? Чтобы
> два раза не вставать, сразу ответь на вопрос, почему обработка записей
> батчами (накопили 100 записей, fsync'анули один раз, отчитались по всем, что
> записано) ничего не ускоряет.

Где и что не ускоряет? Все очень хорошо ускоряет, просто отсчет ведется обычно в миллисекундах или тысячах записей, плюс тюнить надо всегда под задачу. Если у вас по 100к записей в секунду сыпится, то практичней sync дергать раз в секунду.

Кроме того, нужно отличать последовательные _транзакции_ от батч-инсерт/апдейтов, т.к. они по-разному обрабатываются. Если делать последовательно одну транзакцию, которая содержит один инсерт, то никакой прибавки скорости это не даст. И так в _любой_ БД.

И другой ньюанс, это размер батча. В батче на 100 записей, которые укладываются в 4кб прироста не будет, т.к. это уже уровень ОС. Попробуйте батчи по 100 записей по 100-1000кб, сразу будет видна разница.

> Еще тебе правильно говорят, что fsync ничего не гарантирует на данный момент.
> Железка может дать сбой и хвост WAL'а пропадет, и никого не
> будет волновать, что "ну база же невиновата, она фсинк сделала".

Я уже ответил, что проблема железки это не заботы приложения. Давайте сюда припишем сбои в рейд-массивах еще. А что, БД должна и об этом думать!

> Всякие гуглы эту проблему решают синхронной репликацией в несколько железок и на fsync не полагаются.

В блумберг тоже не дураки и comdb2 позиционируется как кластерная БД. Вы о чем? О том, что дергать постоянно fsync это глупо? А не глупо включать журнал, когда он не нужен? Между прочим в comdb2 журнал включается автоматом, когда одна из нод дохнет, чтобы она после восстановления все докатила. Да, это другой подход и что? У вас разрыв шаблона походу.

Поясню в последний раз, все БД делятся по классу задач, которые они способны решать. Некоторые предназначены для общего назначения, некоторые узкоспециализированные. Так вот, comdb2 не является БД общего назначения. И все ее минусы, компенсируются плюсами, за которые _всегда_ нужно платить. Не нравится? Валите в свой мускл, постгрес, оракл и т.д. и т.п.

Вот в этом документе есть сравнение с XtraDB Cluster: http://www.vldb.org/pvldb/vol9/p1377-scotti.pdf

Читайте, пытайтесь понять, что и зачем, потом ищи ответы.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру