|
|
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Сейчас имеется база и сайт, которые из-за большого объема данных стали жутко тормозить. Требуется провести полный рефакторинг базы и перевести ее на MsSql. Бизнес-логика довольно проста, но в базе много данных: есть таблицы Customer (~40тыс записей), Order (~500тыс) и OrderComment (~1.5млн). Остальное - это в основном справочники. Добавляются данные нечасто, в основном идет выборка и поиск по ним. При проектировании новой структуры хотелось бы сделать акцент именно на быстродействие. Как все это лучше задизайнить? Мне представляется, что партишионинг будет наилучшим решением. Или нет? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2009, 16:33 |
|
||
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
ЗапросникКак все это лучше задизайнить? Мне представляется, что партишионинг будет наилучшим решением. Или нет?Нет, зачем тут партишионинг??? Объём данных слишком маленький, да и про специфические для партишинега запросы ничего... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2009, 16:36 |
|
||
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
alexeyvgНет, зачем тут партишионинг??? Я подумал про partitioning, потому что очень много запросов на выборку, а с partitioning-ом можно было бы сократить время на поиск и эту самую выборку. Или я ошибаюсь? alexeyvgОбъём данных слишком маленький Ну кому как, у нас вот и с таким объемом тормозит так, что мало не кажется)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2009, 16:43 |
|
||
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Партишионинг как раз приемлем в случае когда число обращений чтения на порядки превосходит число обращений записи. Как в вашем случае, если я правильно понимаю. По такому пути пошел Facebook, по статистике которого пользователи сервиса просматривают фотоколлекцию со скоростью 475 000 изображений в секунду, а пополняют, всего (в сравнении) 165 раз в секунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2009, 16:52 |
|
||
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Запросникиз-за большого объема данных стали жутко тормозить Пока что это не очевидно. Разбираться с тормозами надо всегда на конкретных данных и запросах. Смотреть планы, где какие индексы и т.п. Насчет partitioning - Вы это по дате планируете делать, или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2009, 16:52 |
|
||
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Правда там 7 миллиардов фотографий + их копии. А 1.5 миллиона действительно не так много. А что за железо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2009, 16:55 |
|
||
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
Сергей ВаскецовЗапросникиз-за большого объема данных стали жутко тормозить Пока что это не очевидно. Разбираться с тормозами надо всегда на конкретных данных и запросах. Смотреть планы, где какие индексы и т.п. Насчет partitioning - Вы это по дате планируете делать, или как? Да, думаю по дате. Старые таблицы не обновляются, данные будут добавляться только в новые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2009, 17:07 |
|
||
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
BakinПравда там 7 миллиардов фотографий + их копии. А 1.5 миллиона действительно не так много. А что за железо? Просто БД писалась еще тогда, когда пользователей было несколько десятков (сейчас несколько тысяч), а данных было раз в 10 меньше. И писали ее судя по всему не очень ориентируясь на производительность - в принципе и так работало довольно хорошо. Возможно сейчас если написать по-нормальному (с индексами и без очевидных клюков), будет работать и так хорошо, но хотелось бы сделать задел на будущее. Железо: AMD QX 9750/8Gb/750Gb SATA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2009, 17:11 |
|
||
|
Помогите с проектированием базы, пожалуйста
|
|||
|---|---|---|---|
|
#18+
1. Посмотрите на каких запросах тормозит 2. Посмотрите какой наиболее селективный индекс можно сделать для этих запросов 3. Подумайте почему он не сделан до сих пор и как его сделать под MS SQL есть тул который сам предлагает сделать индексы посмотрев на ваши запросы (только обязательно посмотрите, что он предлагает и как это повлияет на скорость вставки записей). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2009, 00:01 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1543122]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
13ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 475ms |

| 0 / 0 |
