Здравствуйте, denisko, Вы писали:
D>Подскажите наиболее подходящую СУБД под следующую задачу D>Есть хранилище элементов (максимальное число этих элементов -- 3 * 10^8) довольно частыми операциями будут D>1) вставка новых (порциями по 10^5 элементов) D>2) удаление старых (порциями по 10^5 элементов) D>3) редактирование существующих (порциями порядка 10^3-10^5) D>Основное требование чтобы пункты 1)-3) проходили за достаточно разумное время.Сейчас использую MySQL для прототипа, но может быть что-то лучше есть.
Можно посмотреть на DB2 Express C 9.5
Для 2х ядер и 2х гигов оперативки — бесплатна.
Или поискать 9.1, там бесплатно было для 4х ядер и 4х гигов.
Ограничений на объем данных — нет.
Про производительность:
1) Вставка новых — это одна транзакция или в каждой транзакции по одной записи? Есть ли конкуренция по работе с одной строкой?
По идее, если вставлять записи пачками и конкуренции нет — то можно и гораздо быстрее 1ой секунды (все выливается только в скорость работы диска)
2) Удаление — аналогично вставке.
3) А вот обновление обычно получается дорогой операцией, особенно при большой конкуренции. Точно нельзя заменить на поток вставок с более сложными выборками?
Подскажите наиболее подходящую СУБД под следующую задачу
Есть хранилище элементов (максимальное число этих элементов -- 3 * 10^8) довольно частыми операциями будут
1) вставка новых (порциями по 10^5 элементов)
2) удаление старых (порциями по 10^5 элементов)
3) редактирование существующих (порциями порядка 10^3-10^5)
Основное требование чтобы пункты 1)-3) проходили за достаточно разумное время.Сейчас использую MySQL для прототипа, но может быть что-то лучше есть.
Здравствуйте, denisko, Вы писали:
D>Подскажите наиболее подходящую СУБД под следующую задачу D>Есть хранилище элементов (максимальное число этих элементов -- 3 * 10^8) довольно частыми операциями будут D>1) вставка новых (порциями по 10^5 элементов) D>2) удаление старых (порциями по 10^5 элементов) D>3) редактирование существующих (порциями порядка 10^3-10^5) D>Основное требование чтобы пункты 1)-3) проходили за достаточно разумное время.Сейчас использую MySQL для прототипа, но может быть что-то лучше есть.
а что понимается под "разумным временем" и на каком железе?
Работаю с MySQL постоянно уже несколько лет. СУБД довольно глючная, почти каждый месяц шлю баг репорты.
В принципе система (немаленькая) работает, но иногда приходится то workaround'ы какие-нибудь делать, то ждать когда же выйдет новая версия с пофиксенным багом, то наоборот отказываться от установки новой версии потому что там новый баг какой-нибудь.
Здравствуйте, ghostrider, Вы писали:
G>Здравствуйте, denisko, Вы писали:
D>>Подскажите наиболее подходящую СУБД под следующую задачу D>>Есть хранилище элементов (максимальное число этих элементов -- 3 * 10^8) довольно частыми операциями будут D>>1) вставка новых (порциями по 10^5 элементов) D>>2) удаление старых (порциями по 10^5 элементов) D>>3) редактирование существующих (порциями порядка 10^3-10^5) D>>Основное требование чтобы пункты 1)-3) проходили за достаточно разумное время.Сейчас использую MySQL для прототипа, но может быть что-то лучше есть.
G>а что понимается под "разумным временем" и на каком железе?
В идеале на обычном железе(на чем нибудь C2D 7300 с 2 гб памяти) надо добиться вставки из 10^5 элементов меньше чем за 1-5 секунд.
Здравствуйте, kenzo_u, Вы писали:
_>Работаю с MySQL постоянно уже несколько лет. СУБД довольно глючная, почти каждый месяц шлю баг репорты. _>В принципе система (немаленькая) работает, но иногда приходится то workaround'ы какие-нибудь делать, то ждать когда же выйдет новая версия с пофиксенным багом, то наоборот отказываться от установки новой версии потому что там новый баг какой-нибудь.
А примерные ТТХ системы и область в которой она работает можете озвучить. Я какие то простейшие базы на ней делал вроде все работало относительно нормально (за исключением каких-то бредовых глюков типа подключения к логам не той базы).
Здравствуйте, denisko, Вы писали: D>Подскажите наиболее подходящую СУБД под следующую задачу D>Есть хранилище элементов (максимальное число этих элементов -- 3 * 10^8) довольно частыми операциями будут D>1) вставка новых (порциями по 10^5 элементов) D>2) удаление старых (порциями по 10^5 элементов) D>3) редактирование существующих (порциями порядка 10^3-10^5) D>Основное требование чтобы пункты 1)-3) проходили за достаточно разумное время.Сейчас использую MySQL для прототипа, но может быть что-то лучше есть.
А тебе именно реляшку нужно?
Посмотри Berkeley DB или что-нибудь от Книжника
Здравствуйте, denisko, Вы писали:
D>А примерные ТТХ системы и область в которой она работает можете озвучить. Я какие то простейшие базы на ней делал вроде все работало относительно нормально (за исключением каких-то бредовых глюков типа подключения к логам не той базы).
Enterprise-приложение, порядка 5-10 одновременно работающих пользователей, порядка 50 таблиц, нескольких сот хранимых процедур и функций, размер базы примерно 0.5Гб, в строках — примерно 5 млн в сумме со всех таблиц. На небольших базах и у меня всё всегда работало, но вот с описанной выше базой уже нередко встречаются проблемы и баги mysql.
Здравствуйте, Дельгядо Филипп, Вы писали:
ДФ>1) Вставка новых — это одна транзакция или в каждой транзакции по одной записи? Есть ли конкуренция по работе с одной строкой?
Здравствуйте, Дельгядо Филипп, Вы писали:
ДФ>Здравствуйте, denisko, Вы писали:
D>>Подскажите наиболее подходящую СУБД под следующую задачу D>>Есть хранилище элементов (максимальное число этих элементов -- 3 * 10^8) довольно частыми операциями будут D>>1) вставка новых (порциями по 10^5 элементов) D>>2) удаление старых (порциями по 10^5 элементов) D>>3) редактирование существующих (порциями порядка 10^3-10^5) D>>Основное требование чтобы пункты 1)-3) проходили за достаточно разумное время.Сейчас использую MySQL для прототипа, но может быть что-то лучше есть.
ДФ>Можно посмотреть на DB2 Express C 9.5 ДФ>Для 2х ядер и 2х гигов оперативки — бесплатна. ДФ>Или поискать 9.1, там бесплатно было для 4х ядер и 4х гигов. ДФ>Ограничений на объем данных — нет.
Ок, спасибо, будем посмотреть.
ДФ>Про производительность: ДФ>1) Вставка новых — это одна транзакция или в каждой транзакции по одной записи? Есть ли конкуренция по работе с одной строкой? ДФ>По идее, если вставлять записи пачками и конкуренции нет — то можно и гораздо быстрее 1ой секунды (все выливается только в скорость работы диска)
Конкуренции нет, вставка и удаление пачками. ДФ>2) Удаление — аналогично вставке.
ДФ>3) А вот обновление обычно получается дорогой операцией, особенно при большой конкуренции. Точно нельзя заменить на поток вставок с более сложными выборками?
Да вроде вывернулся что можно.
Здравствуйте, kenzo_u, Вы писали:
_>Enterprise-приложение, порядка 5-10 одновременно работающих пользователей, порядка 50 таблиц, нескольких сот хранимых процедур и функций, размер базы примерно 0.5Гб, в строках — примерно 5 млн в сумме со всех таблиц. На небольших базах и у меня всё всегда работало, но вот с описанной выше базой уже нередко встречаются проблемы и баги mysql.
Не у меня все просто. Один пользователь (пока). Данных может быть порядка 10^8 (т.е. порядка 100 млн строк на круг).
Здравствуйте, Пацак, Вы писали:
ДФ>>1) Вставка новых — это одна транзакция или в каждой транзакции по одной записи? Есть ли конкуренция по работе с одной строкой?
П>На вставке?! А это как?
Написал, конечно, глупость.
Хотя, наверно, при вставке с проверкой reference integrity вполне может быть и конкуренция по той записи, на которую ссылаемся, но это надо пробовать.