![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| gelo86 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Вот в facebook'е более 600.000 пользователей. Ми всегда просто создаем таблицу User и работаетм со своими нагрузками и справлаемся. Но как работают в facebook'е или google'е, как они без проблем хранят такие количества данных ? Да и обрашений к базе довольно многа. Понемаю что там неодна база данных. Но если их десятки, то репликация данных незанемает много времени ? Или в каждой базе хранятсья данные (та же таблица) , но которые попадают в определленый range ?
|
|||
|
||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: нет Всего: 12 |
||||
|
||||
| gelo86 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
||||
|
||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: нет Всего: 12 |
не самое свежее, но все же.
|
|||
|
||||
| gelo86 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Ну если иметь очен много деняг, то вероятно и возможно поддерживать таку бд. А если например есть 1000 $ в месяц на поддержку базы, в каторой должно храница данные про каждый рекуест (все параметры например). Пользователей за месац 50М -> За месац 50М строк в таблице, селектить по ид надо толкько. Данные надо хранить за год -> 600М строк. Потянет один сервак такое, ну или если надо больше в расположении 1000$ в месяц ?
|
|||
|
||||
| Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
-------------------- |
|||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
gelo86
У нас сейчас: База 1 таблица с 3,5МЛ записей. Текст + id1 1 таблица с 1МЛ записей. Текст + id2 2 таблицы с 60МЛ записей каждая id1 + id2 Сервер с i7 и 4 ГБ озу вполне справляется с: Поиск по текстовому полю в первой таблице. с получением id1. По полученному id1 поиск всех id2 из каждой таблицы с 60мл записей. Выборка всех текстовых значений из таблицы с 1мл записей по id2. Все это делается 1 запросам. Правда, у нас нет миллионов запросов на выборку, как у фэйсбука На отдельном таком же сервере идет заполнение таблиц по 60мл записей. Средняя скорость записи - 30000 в минуту ( это не ограничение сервера - с такой скоростью мы получаем данные ), при этом при каждой записи идет селект id1 из таблицы с 3,5мл записей, по текстовому полю, и если не найдена запись идет инсерт. Индекс по id1 на таблицу с 60мл записей ставится примерно за 20 минут. Это сообщение отредактировал(а) Vasay - 30.6.2011, 21:14 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| gelo86 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
А если планируеться иметь пару таблиц с х-милионнами записей, но ети таблицы несвязанны с другими таблицами всей системи (их гдето 40). Планируеться использовать Hibernate. Если ети милионные талбицы сейчар иметь на PpstgreSQL + Hibernate (как и всё остальное), а в дальнейшом для тех таблиц перейти на другие технологии, а остольное оставить на Relational DB (PostgresSQL) ? Просто ето будет новый проект, пока раскрутиться, пройдет как минимум год, такшто в первый год Х-миллионов записей небудет (максимум 1 млн.), а за тот год подобрать / выучить / интегрировать для тех данных подходящию технологию (в коде все равно используеться DAO, такшто на код ситемы недолжно повлиять перемена хранилища) ?
Это сообщение отредактировал(а) gelo86 - 30.6.2011, 22:04 |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
по мордакниге: http://www.infoq.com/presentations/Infrast...ure-at-Facebook
ИМХО: миллионные запросы достаточно легко достигаются, если у вас система обладает возможностями к горизонтальному масштабированию. Т.е. организация кластера с Data Sharding-ом (и read и write операции распределяются по узлам). Большинство NoSQL решений, например MongoDB, специально сделаны для этих целей. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |