стратегия разделения базы данных

0

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

  • 1
    Первый вопрос: почему вы хотите это сделать? Что заставляет вас думать, что вам нужно осколок?
  • 0
    потому что таблица продуктов сейчас очень большая. Я хочу улучшить производительность. ты мне поможешь?
Показать ещё 1 комментарий
Теги:
sharding

2 ответа

0

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

Если у вас нет 100 миллионов строк в таблице, то совершенно очевидно, что вам не нужно беспокоиться о том, чтобы оштрафовать. Осколки не решают какой-либо тип запросов.

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

Также базовые знания о производительности базы данных хороши. Добавьте к этому исправление медленных запросов (slowlog - это хорошее место для запуска) и игнорируйте операции объединения.

0

Это хороший вопрос. Если все, что вы хотите сделать, - это поместить некоторые записи в другую базу данных, и вы не собираетесь присоединяться к этим записям в любых других таблицах, тогда да, все, что вам нужно сделать, говорит вашему приложению вставить записи 1-10000 в осколке 1 и 10001 -20000 в осколке 2. Но если вы хотите сделать запрос от shard 1 до shard 2, это не сработает, и вам понадобится продукт, например dbShards. dbShards - хороший инструмент для обкатки и имеет отличные отзывы. Также они помогут вам разработать общую стратегию ошпаривания для вашего приложения.

Надеюсь, что это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню