powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + MySql как правильно организовать
15 сообщений из 15, страница 1 из 1
Delphi + MySql как правильно организовать
    #39943287
Jonnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть небольшой проект на Delphi, но он растет.
Есть компании, которые пользуются продуктом. В каждой компании от 5 до 50 пользователей.
Под каждую компанию создается отдельная база и все их данные хранятся в пределах одной базы.
Так еще базы можно раскидать по разным серверам. Для распределения нагрузки.
Но количество баз растет и их администрирование начинает занимать время.


Вроде все можно слить в одну базу и каждой записи присвоить ID компании и когда нужно будет получать данные, то в каждом запросе нужно будет указывать ID компании, что не очень удобно.

Так же так как все данные будут в одной базе. То таблицы сильно вырастут в размерах. И если раньше у одной компании максимум 20 000 тыс товаров, то теперь там будет миллионы товаров разных компаний. Что скажется на производительности выборки. Но это вроде решается через партиции, если из сделать по ID компании. В теории разницы не должно быть. На практике не знаю.


Вопрос в том, как правильнее сделать. Хранить данные каждой компании в разных базах или все хранить в одной базе?
Кто как поступил в своих решениях ? Реально ли партиции решат вопрос производительности с миллионами записей ?
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943291
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JonnikНо количество баз растет и их администрирование начинает занимать время.

Именно поэтому DBA давно выдумали и вовсю использую автоматизированные средства
администрирования.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943292
Jonnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

JonnikНо количество баз растет и их администрирование начинает занимать время.

Именно поэтому DBA давно выдумали и вовсю использую автоматизированные средства
администрирования.


Тут дело больше не в администрировании (потому как его можно решить), а в том, как лучше и правильнее все организовать?
Со временем будет 1000 баз, а потом 5000 и так далее...
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943293
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonnik
Со временем будет 1000 баз, а потом 5000 и так далее...


В чем проблема-то?
Если деньги платят - нанимай людей, пусть обслуживают.
Если не платят - не нанимай, с фига ли бесплатно работать.
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943308
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне почему-то кажется, что вы путаете понятия БАЗЫ и ТАБЛИЦЫ, особенно это хорошо видно по этому тексту
Вроде все можно слить в одну базу и каждой записи присвоить ID компании и когда нужно будет получать данные

Если у одной компании "максимум 20 000 тыс товаров", то чтобы достигнуть "там будет миллионы товаров" нужно минимум 100 компаний 20к*100=2млн (2 млн - это уже миллионЫ)

2 млн это мелочь для любого сервера
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943311
Jonnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr
Мне почему-то кажется, что вы путаете понятия БАЗЫ и ТАБЛИЦЫ, особенно это хорошо видно по этому тексту
Вроде все можно слить в одну базу и каждой записи присвоить ID компании и когда нужно будет получать данные


Если у одной компании "максимум 20 000 тыс товаров", то чтобы достигнуть "там будет миллионы товаров" нужно минимум 100 компаний 20к*100=2млн (2 млн - это уже миллионЫ)

2 млн это мелочь для любого сервера

Я не путаю разные базы и разные таблицы. Для этого и нужно дом поле для индетификации.
И все быстро работает когда запросов мало и когда они простые, А когда они большие, то могут возникнуть притормаживания.

И эта статья про то сколько записей можно записать в таблицу тут не причем.

Я уже сталкивался с тем, что когда соединяешь таблицы с миллионами записей, то надо начинать играться с тем какие индексы использовать для разных запросов и принудительно использовать нужные. А когда таких запросов много. На это уйдет куча времени.
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943314
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonnik
Я уже сталкивался с тем, что когда соединяешь таблицы с миллионами записей, то надо начинать играться с тем какие индексы использовать для разных запросов и принудительно использовать нужные. А когда таких запросов много. На это уйдет куча времени.


Ну ты разберись один раз с соединениями, ключами и индексами, и всё, и миллионы записей в соединениях не будут тебя пугать.

"Лучше день потерять потом за пять минут долететь" - (с).
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943317
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonnik,

никто ж не знает, что у тебя там за система. Допустимо ли данным разных клиентов вообще в одной базе вариться?
Не порвут ли тебя на куски, если запрос от одного клиента вытянет данные других? Или если один клиент изменит данные других. Просто из-за ошибки кодера.
Обрадуется ли конкретный клиент в случае потери связи с центральным сервером?

Как ты организуешь процедуру неизбежной модификации метаданных при множестве подключенных пользователях?

50 пользователей х 5000 баз => 250 000 пользователй... коннектятся к одному серверу?
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943324
Jonnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
Jonnik,

никто ж не знает, что у тебя там за система. Допустимо ли данным разных клиентов вообще в одной базе вариться?
Не порвут ли тебя на куски, если запрос от одного клиента вытянет данные других? Или если один клиент изменит данные других. Просто из-за ошибки кодера.
Обрадуется ли конкретный клиент в случае потери связи с центральным сервером?

Как ты организуешь процедуру неизбежной модификации метаданных при множестве подключенных пользователях?

50 пользователей х 5000 баз => 250 000 пользователй... коннектятся к одному серверу?


Все базы одинаковые по структуре. Но иногда бывают немного различий в переходной период между версиями. А потом все снова привожу к одному виду. И если все хранить в одной, то такой вариант не получится. А это иногда нужно для разных версий.

Конечно данные других клиентов не должны быть доступны другим.
И да можно ошибиться и снести или переписать данные кучи других клиентов. Потом это восстанавливать жесть.
В общем когда все в разных базах, то проще с точки зрения восстановления данных и их потом проще восстанавливать отдельно.

При малом количестве данных в таблицах используя простые индексы можно писать любые запросы и врятли они будут тормозить. С большими таблицами там для одних запросов надо использовать один индекс. Для других другой. И когда запросов тысячи, то пока это отладишь уйдет год. Это не один день. Было бы хоть 100 запросов, то это ладно. А так это проблема. Вроде это помогают решить партиции без более жесткой оптимизации запросов.

По факту я спрашиваю как правильно делать лучше. Делать такие разделенные базы. Или все хранить в одной ?
Так сказать спрашиваю мнение людей кто с этим сталкивался, потому как у каждого решения есть свои преимущества и недостатки. Т.е. и делаю ли я то, что более менее укладывается в нормы.
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943328
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы продолжаете употреблять слово БАЗЫ в контексте запросов.
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943348
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonnik
Вроде это помогают решить партиции без более жесткой оптимизации запросов.

Да шиш там.
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943391
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если и использовать одну базу, то лучше не ключ, а разные таблицы. Имена таблиц с приставками.
Но я бы не использовал одну базу на всех.
Если "ляжет" сервер или база испортиться, то восстанавливать базу в 5 млн записей будет сложнее и дольше и ВСЕ клиенты будут ждать и ругаться.
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943408
Jonnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11
Если и использовать одну базу, то лучше не ключ, а разные таблицы. Имена таблиц с приставками.
Но я бы не использовал одну базу на всех.
Если "ляжет" сервер или база испортиться, то восстанавливать базу в 5 млн записей будет сложнее и дольше и ВСЕ клиенты будут ждать и ругаться.


Приставки это не особо вариант. Делал раньше. Менее удобно писать запросы. Когда будет много таблиц в базе, то это тоже будет очень не удобно. И при 1000 клиентах, смотреть на тысячи таблиц будет совсем не удобно.

Примерно понял. Что лучше отдельные базы.
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943409
Jonnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
Jonnik
Вроде это помогают решить партиции без более жесткой оптимизации запросов.

Да шиш там.


Есть конкретный опыт ?
...
Рейтинг: 0 / 0
Delphi + MySql как правильно организовать
    #39943516
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11
Если и использовать одну базу, то лучше не ключ, а разные таблицы. Имена таблиц с приставками.



[spoiler] "Пошла жара!" - (с).
YouTube Video
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + MySql как правильно организовать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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