Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Огромное количество данных 
:(
    Опции темы
gelo86
Дата 30.6.2011, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Вот в facebook'е более 600.000 пользователей. Ми всегда просто создаем таблицу User и работаетм со своими нагрузками и справлаемся. Но как работают в facebook'е или google'е, как они без проблем хранят такие количества данных ? Да и обрашений к базе довольно многа. Понемаю что там неодна база данных. Но если их десятки, то репликация данных незанемает много времени ? Или в каждой базе хранятсья данные (та же таблица) , но которые попадают в определленый range ?
PM MAIL   Вверх
triclosan
Дата 30.6.2011, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 18.8.2006

Репутация: нет
Всего: 12



Цитата(gelo86 @  30.6.2011,  17:31 Найти цитируемый пост)
 более 600.000

600М
PM MAIL   Вверх
gelo86
Дата 30.6.2011, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Цитата(triclosan @  30.6.2011,  17:40 Найти цитируемый пост)
600М

Да да, за мало ноликов написал smile Но все же как они справляются со столками запросами.
PM MAIL   Вверх
triclosan
Дата 30.6.2011, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 18.8.2006

Репутация: нет
Всего: 12



не самое свежее, но все же.
PM MAIL   Вверх
gelo86
Дата 30.6.2011, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Ну если иметь очен много деняг, то вероятно и возможно поддерживать таку бд. А если например есть 1000 $ в месяц на поддержку базы, в каторой должно храница данные про каждый рекуест (все параметры например). Пользователей за месац 50М -> За месац 50М строк в таблице, селектить по ид надо толкько. Данные надо хранить за год -> 600М строк. Потянет один сервак такое, ну или если надо больше в расположении 1000$ в месяц ?
PM MAIL   Вверх
Старовъръ
Дата 30.6.2011, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 1
Всего: 10



Цитата

Ну если иметь очен много деняг, то вероятно и возможно поддерживать таку бд. А если например есть 1000 $ в месяц на поддержку базы, в каторой должно храница данные про каждый рекуест (все параметры например). Пользователей за месац 50М -> За месац 50М строк в таблице, селектить по ид надо толкько. Данные надо хранить за год -> 600М строк. Потянет один сервак такое, ну или если надо больше в расположении 1000$ в месяц ? 
Прр.. тут ниодна база не справится сама собой. У них там одних логов выходит под 5 терабайт в день, которые нужно парсить (для этого кстати используется у них Apache Hadoop). У них базы кластеризуются на оч много инстансов, используются data grid'ы. В общем в сети достаточно много информации по этому поводу, вот например.
PM MAIL WWW   Вверх
Vasay
Дата 30.6.2011, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 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 запросам. 

Правда, у нас нет миллионов запросов на выборку, как у фэйсбука  smile 


На отдельном таком же сервере идет заполнение таблиц по 60мл записей. Средняя скорость записи - 30000 в минуту ( это не ограничение сервера - с такой скоростью мы получаем данные ), при этом при каждой записи идет селект id1 из таблицы с 3,5мл записей, по текстовому полю, и если не найдена запись идет инсерт. Индекс по id1 на таблицу с 60мл записей ставится примерно за 20 минут. 

Это сообщение отредактировал(а) Vasay - 30.6.2011, 21:14


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
gelo86
Дата 30.6.2011, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



А если планируеться иметь пару таблиц с х-милионнами записей, но ети таблицы несвязанны с другими таблицами всей системи (их гдето 40). Планируеться использовать Hibernate. Если ети милионные талбицы сейчар иметь на PpstgreSQL + Hibernate (как и всё остальное), а в дальнейшом для тех таблиц перейти на другие технологии, а остольное оставить на Relational DB (PostgresSQL) ? Просто ето будет новый проект, пока раскрутиться, пройдет как минимум год, такшто в первый год Х-миллионов записей небудет (максимум 1 млн.), а за тот год подобрать / выучить / интегрировать для тех данных подходящию технологию (в коде все равно используеться DAO, такшто на код ситемы недолжно повлиять перемена хранилища) ?

Это сообщение отредактировал(а) gelo86 - 30.6.2011, 22:04
PM MAIL   Вверх
powerOn
Дата 1.7.2011, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



по мордакниге: http://www.infoq.com/presentations/Infrast...ure-at-Facebook

ИМХО: миллионные запросы достаточно легко достигаются, если у вас система обладает возможностями к горизонтальному масштабированию. Т.е. организация кластера с Data Sharding-ом (и read и write операции распределяются по узлам). Большинство NoSQL решений, например MongoDB, специально сделаны для этих целей.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.