![]() |
|
Модераторы: skyboy |
![]()
|
|
| mark2009 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 12.10.2009 Репутация: нет Всего: 1 |
Добрый день!
Если честно, никогда не работал с высоконагруженными проектами, но тут сложилась такая ситуация... Не то что даже высоконагруженный - хотя таблица пользователей планируется не менее 1000000 записей - это самое малое. В перспективе до 10000000, а то и больше. Будет таблица объёмом где-то 2000000 записей, которая будет часто использоваться... и плюс адреса пользователей - тоже нехило - как минимум кол-во пользователей * 2. Понятное дело, индексы, грамотная оптимизация.... но как себя эта радость будет вести на реальном серваке? Я почему-то подумываю о том, чтобы портировать всё это на Oracle мотивируя это тем, что он мощнее... как думаете, стоит? Или пока оставить всё на MySQL? Просто если потом в процессе работы сайта выяснится, что СУБД не справляется, будет очень хреново.... надо бы заранее спланировать, имея те данные, которые я здесь предоставил... Да, в других таблицах будет тоже не меньше записей. В среднем - кол-во пользователей умноженное на число от 1 до 20. Всего таблиц около 30 планируется. P.S. Сейчас увидел тему http://forum.vingrad.ru/topic-118370.html но всё равно решил свою запостить, ибо у меня конкретная задача описана. Да, по всем таблицам будет поиск, select, insert.... удаление тоже будет, т.е. все операции I/O в полном объёме. На начальном этапе когда мало пользователей - соотв. мало операций. Но они будут увеличиваться в геометрической прогрессии по отношению к кол-ву пользователей. |
|||
|
||||
| tzirechnoy |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 3 Всего: 16 |
Если там один человек пару раз в день зайдёт, чтобы выбрать по 3-5 тысяч записей по индэксу -- то замечательно будет вести. И дажэ не MySQL, а какой-нибудь Interbase 16-bit под Windows 3.11 for workgroups (только TCP/IP от трампета доставить, да). А если все десять миллионов пользователей попробуют что-то от этой базы за полчаса получить (хотя бы своё имя проверить) -- то, уверяю Вас, до MySQL просто не дойдёт ничего, у Вас на одном сервере сетевой стэк раньшэ ляжэт. Я, надеюсь, понятно обрисовал насущные проблемы в оцэнке Вами требуемой производительности?
Портируйте сразу на 3-4 базы. Ну, там, MySQL, PostgreSQL, firebird, Oracle, MS SQL Server, sqlite. Можно кого-то обойти стороной. Во-первых, вообще способствует чистоте кода, а во-вторых заодно и посравниваете, кто Вам милее и чем они отличаются. Опять жэ, соц.сеть у Вас можэт и не получится -- а портабельным веб-движком потом зарабатывать можно будет -- тожэ польза. А вообще у MySQL есть свои плюсы в производительности в том числе и перед большым ораклом. Запросы быстрее парзит, по индэксам выбирает вполне на хорошэй скорости. Так что от стиля написания сильно зависит. Это сообщение отредактировал(а) tzirechnoy - 28.9.2012, 15:41 |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Если у вас лишь две таблицы... может посмотреть в сторону каких нить кей-вал датабаз?
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| mark2009 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 12.10.2009 Репутация: нет Всего: 1 |
В общем, что скажу...
Планируется около 30 таблиц (может и больше, это минимальное число). По поводу таблицы с 2 млн записей - простите, ошибся немного По пользователям. Начиная с 0 - стремительное увеличение до бесконечности. Предположим пользователей миллион. Тогда имеем в базе данных увеличение как минимум на 4000000 записей. Когда юзеров мало, то понятно, что всё будет очень хорошо. Но когда их число зашкалит..... мне кажется, надо заранее спроектировать всё таким образом, чтобы потом не кусать локти. Именно поэтому сюда и пишу. Может у кого уже опыт был проектирования БД под высокую нагрузку? Какой формат выбрать (MyISAM или InnoDB)? Репликация? Может вообще выделить одну супер мощную машину и там поднять ТОЛЬКО SQL-сервер? Таблицы будут использоваться ОЧЕНЬ активно всеми типами запросов. |
|||
|
||||
| Kaltetod |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 19.10.2012 Репутация: нет Всего: нет |
Недавно проводили сравнение Mysql с mariadb. Mariadb хорошо себя показала. А если между Mysql и SQLite то естественно Mysql. А вообще, о выборе БД тут хорошо написано
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |