powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Что лучше несколько маленьких баз или одна большая?
12 сообщений из 12, страница 1 из 1
Что лучше несколько маленьких баз или одна большая?
    #32841001
DmitryY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

Вот такой вопрос - планируется база примерно на 20 гигов в MySQL.
При этом кол-во запросов к базе в сутки:
INSERT-ов примерно 1 миллион, SELECT-ов примерно 2-3 миллиона.

Есть возможность разбить базу на две или даже больше баз (2 по 10 гиг, или 5 по 4 гига...)

Какой вариант предпочесть? Одну большую или несколько маленьких?
Что будет лучше для сервера MySQL?
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32841651
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хороший вопрос...

Я думаю, что одна база вполне подойдет, если, конесно файловая система сможет держать файлы таких объемов.

Для UNIX это как правило не проблема ( подробности ).

Второе, на что стоит обратить внимание, это на саму дискову подсистему, ну и на настройки MySQL сервера конечно.
Код: plaintext
mahoune
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32841739
DmitryY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все крутиться на RH 9, и размер конкретно этой таблицы может быть 900 Гб.

(смотриться через show table status).

Однако интересует это с точки зрения оптимизации? Что быстрее?
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32841756
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разные форматы бд не рассматриваешь? например, в myisam таблички хранятся в разных файлах.

ma X mo
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32841789
DmitryY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
суть не в форматах.
что будет быстрее для сервара - брать/вствлять инфу в несколько маленьких баз или юзать одну большую?
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32841849
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думается, одну большую: не надо будет переключаться между базами (для myisam). Ну, если таблиц не миллионы.

ma X mo
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32841986
DmitryY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, переключения между таблицами происходить не будет...
База содержит две основные таблицы - юзеры и данные юзеров.

При разделении баз система будет сразу знать, в какой из них инфа по юзеру и работать только с этой базой...
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32842649
Фотография Dinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хмм, мало информации
например, момент такой - по чем будут селекты? если по всей таблицы, то возникнет проблема чтения индекса, который не будет влезать в память; так же будут некоторые задержки с его обновлением...
другой момент - обновление данных может конфликтовать с чтением, из-за полного лока таблицы myisam, т.е. надо принять вариант innodb к рассмотрению ;)
и, наконец, если деньги есть на железо, лучше подумать о разнесении таблицы по частям на разные сервера (по дипазонам user id или по алфавиту или по хэшу или по времени суток), тогда каждый сервер будет иметь только часть данных и соотв. работать быстрее... но тут еще понадобится подключить к каждому серваку еще по одной машине в качестве slave-a, для бэкапа и хотсвапа..

--
Dmitry
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32843065
DmitryY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас попробую ответить.

SELECT-ы будут достаточно простые.
выборка двух полей, плюс обычная группировка и сортировка.
Индекс по ID...

Насчет железа - сейчас 2 x XEON 3,2 плюс 2 гига ОЗУ.
В принципе крутиться неплохо... машина выдержит боооольшую нагрузку, но удержит ли столько данных MySQL :-)

Разносить таблицы - имеется в виду просто чтобы программа определяла куда писать / откуда читать или есть какие-то средства?
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32844517
Фотография Dinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryYSELECT-ы будут достаточно простые.
выборка двух полей, плюс обычная группировка и сортировка.
Индекс по ID...

еще и группировка с сортировкой из 900GB таблицы? :)
впрочем, если идет предварительный отбор десятка/сотни записей по primary key, то никаких проблем
DmitryY
Насчет железа - сейчас 2 x XEON 3,2 плюс 2 гига ОЗУ.
В принципе крутиться неплохо... машина выдержит боооольшую нагрузку, но удержит ли столько данных MySQL :-)

че ему держать-то, лежат себе на диске и лежат :) ты лучше возьми и посчитай кол-во индексов - влезут они в память потом? впрочем, это зависит, к какой части данных будут селекты - по всей таблице вразнобой или только "за последний день" - во-втором случае только часть индексов должна сидеть в памяти...
DmitryY
Разносить таблицы - имеется в виду просто чтобы программа определяла куда писать / откуда читать или есть какие-то средства?

угу, именно; есть более "высокого" уровня типа load balancing-a, не уверен, что подойдет, имхо, свое написать и быстрее и проще

--
Dmitry
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32844859
DmitryY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще и группировка с сортировкой из 900GB таблицы? :)
впрочем, если идет предварительный отбор десятка/сотни записей по primary key, то никаких проблем

именно так :) и без выборки по primary key... выборка по индексному полю (id юзера)...

че ему держать-то, лежат себе на диске и лежат :) ты лучше возьми и посчитай кол-во индексов - влезут они в память потом? впрочем, это зависит, к какой части данных будут селекты - по всей таблице вразнобой или только "за последний день" - во-втором случае только часть индексов должна сидеть в памяти...

эт понятно :) но данные не лежат грузом, они очень упорно юзаются.
как я говорил: "INSERT-ов примерно 1 миллион, SELECT-ов примерно 2-3 миллиона.", но немного ошибся, скорее наоборот. INSERT-ов больше получается.

индексы влазят.. индекс по int, размер где-то полгига.

угу, именно; есть более "высокого" уровня типа load balancing-a, не уверен, что подойдет, имхо, свое написать и быстрее и проще

не совсем понял. в смысле лучше юзать утилиты или все-таки приложением думать в какую базу лазить?

И теперь хочу поделиться своими наблюдениями по теме.
Потестили мы это дело немного и в итоге получилось, что иметь много таблиц ГОРАЗДО выгоднее.

так вот, имея много данных можно действительно разносить их по разным таблицам фиксированной длины. По UID врятли пойдет, а вот по дате можно...
...
Рейтинг: 0 / 0
Что лучше несколько маленьких баз или одна большая?
    #32846892
Фотография Dinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryYне совсем понял. в смысле лучше юзать утилиты или все-таки приложением думать в какую базу лазить?

я не знаю, что лучше, т.к. "утилиты" никогда не юзал :)
DmitryY
И теперь хочу поделиться своими наблюдениями по теме.
Потестили мы это дело немного и в итоге получилось, что иметь много таблиц ГОРАЗДО выгоднее.
так вот, имея много данных можно действительно разносить их по разным таблицам фиксированной длины. По UID врятли пойдет, а вот по дате можно...
открыл америку :) разбиение всякой статистики по таблицам по-месячно - стандартная практика ;)

С Наступающим!
--
Dmitry
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Что лучше несколько маленьких баз или одна большая?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]