powered by simpleCommunicator - 2.0.46     © 2025 Programmizd 02
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Распределенные хранилища
19 сообщений из 19, страница 1 из 1
Распределенные хранилища
    #36244270
Relarn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет Всем!! Работаю над поисковой системой. По началу использовался двиг. Sphinx и Mysql, в качестве хранилища. Количество данных растет, производительность выборок падает, да и хочется по уму развиваться. Поэтому решился перейти на нереляционные распределенные хранилища.

Из того, что нашел в сети: MemcacheDB, CouchDB, HBase, Hypertable

Посоветуйте, пожалуйста, что выбрать? И оправдан ли подход использовать такие хранилища?
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244425
phprus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опиши подробнее задачу.
Что ищет твоя поисковая система, в каком месте и как сильно падает производительность? Какие объемы данных?
Посмотри на этот раздел документации: 4.7. Distributed searching

По поводу найденного тобой в сети могу сказать, что CouchDB - тот еще тормоз. У меня он на данных, которые в SQL базе заняли мегабайт 10 создал своих файлов на 250 мегабайт, а при попытке запустить простую view, которая строила выборку так, что ключом было одно из полей хранящихся документов, а значением - сам документ CouchDB трудился занимая весь мой core2duo 2,4 в течении 10 часов, насоздавал файлов на гигабайт, но по внутренней статистике обработал менее 30% документов. В общем результата я так и не дождался, так что для каких-либо выборок, кроме выборок по ключу он явно подходит слабо.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244544
Relarn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
phprusОпиши подробнее задачу.
Что ищет твоя поисковая система, в каком месте и как сильно падает производительность? Какие объемы данных?
Посмотри на этот раздел документации: 4.7. Distributed searching

По поводу найденного тобой в сети могу сказать, что CouchDB - тот еще тормоз. У меня он на данных, которые в SQL базе заняли мегабайт 10 создал своих файлов на 250 мегабайт, а при попытке запустить простую view, которая строила выборку так, что ключом было одно из полей хранящихся документов, а значением - сам документ CouchDB трудился занимая весь мой core2duo 2,4 в течении 10 часов, насоздавал файлов на гигабайт, но по внутренней статистике обработал менее 30% документов. В общем результата я так и не дождался, так что для каких-либо выборок, кроме выборок по ключу он явно подходит слабо.

Поисковая система ищет товары и услуги в Мускуле (сайт справочной). Размер таблиц в пределах 1 000 000 – 7 000 000 строк. Объем всей базы, около 10Гб.
Сайтик молодой совсем, но оперативно наполняется база. Наполнением занимаются менеджеры и партнеры. Вся база находится на 1 выделенном сервере. На нем находится и сайтец. Пока количество пользователей мало, до 500 хостов в день, работает все стабильненько.
С ростом базы, производительность падает на cелектах, по сути они только и используются. Спасаюсь Sphinx, тем, что часть поиска возлагал на него, а не БД. И естественно, кеширование.

Начальство может выделить для системы еще пару настольников. Вот и задумался, насчет распределенного хранилища данных. Хранилище пар ключ-значение, для этих целей вполне достаточно, плюс, удобство масштабирования. (Это все по материалам в сети).
С подобными системами не сталкивался, это мой первый опыт.

Спасибо за реальную информацию по CouchDB. Тогда не буду с этой СУБД связываться.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244548
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, проще памяти еще набить в существующий сервер, чем городить всякие прибамбасы.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244578
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
Имхо, проще памяти еще набить в существующий сервер, чем городить всякие
прибамбасы.

+1

Или поставить ещё один сервер и балансировать нагрузку. Или два сервера.
Или три.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244587
Relarn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Балансировать чем ???

А чем плохи так хранилища то?
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244592
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244620
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relarn Поэтому решился перейти на нереляционные распределенные хранилища.
То есть планы каждого селекта просмотрены и оптимизированы. Структура данных тоже уже заточена под запросы.
Relarn И оправдан ли подход использовать такие хранилища?Не выжав максимум из имеющейся системы (MySql) хвататься за другую? То есть вы уверены что хранилище все сделает за вас?
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244634
Relarn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Спасибо!!! Как познавательный варинт, пригодится.

Вот только вопрос мучает. Как Mysql будет вести, когда информации будет уже на сотни гигабайт??? Если сама СУБД будет уже туго работать с такими объемами, то и балансировочные серваки особо не спасут, как я понимаю. Ведь выделяют тока пару настольников, а не "полноценные" сервера.

В случае же распределенного хранилища вся база "размазывается" по нескольким сервакам. В теории, эти хранилища как раз заточены под большие объемы информации и работу с ней.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244638
Relarn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257Relarn Поэтому решился перейти на нереляционные распределенные хранилища.
То есть планы каждого селекта просмотрены и оптимизированы. Структура данных тоже уже заточена под запросы.
Relarn И оправдан ли подход использовать такие хранилища?Не выжав максимум из имеющейся системы (MySql) хвататься за другую? То есть вы уверены что хранилище все сделает за вас?

Структуру разрабатывал не я, этот человек уволился. Но надо отдать должное, сделал не плохо. Сама база очень простенькая, для справочной то больше и не надо. Решил переходить на хранилища, потому Мускул используется как хранилище "ключ-значение". (JOIN-ов нет почти, да и те, считанные, случаи которые есть - работают шустро ). Разве в этом случае хранилища не эффективнее по скорости выборки будут?
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36244660
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я наверное такой молоток который все проблемы рассматривает как гвозди.
Имеем - замедление селектов с ростом базы данных - сразу первое подозрение - что-то плохо проиндексировано.
Стало быть применяем классический алгоритм оптимизации.
Убедились что все нужные индексы созданы, ненужные убиты, все планы оптимальны, но производительности все равно не хватает - добавили железо (память или дополнительных сервера)
Технология отлажена, результат предсказуем, специалистов много, в случае чего подскажут.

Если у вас какая-то особая задача - пример LDAP - специальная база данных - смотрим в сторону специализированных средств. По моему мнению, поиск товаров и услуг - типичная задача для РСУБД, а у вас просто чешутся руки попробовать что-то другое крутое и экзотическое.

Если анализ не проведен, то введение дополнительных средств (фич базы данных, нереляционных хранилищ и т.д.) может привести к успеху только случайно.

Советую на соседнем форуме опубликовать схему данных, типичные тормозящие запросы и посмотреть что народ скажет.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36245833
Relarn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257Я наверное такой молоток который все проблемы рассматривает как гвозди.
Имеем - замедление селектов с ростом базы данных - сразу первое подозрение - что-то плохо проиндексировано.
Стало быть применяем классический алгоритм оптимизации.
Убедились что все нужные индексы созданы, ненужные убиты, все планы оптимальны, но производительности все равно не хватает - добавили железо (память или дополнительных сервера)
Технология отлажена, результат предсказуем, специалистов много, в случае чего подскажут.

Если у вас какая-то особая задача - пример LDAP - специальная база данных - смотрим в сторону специализированных средств. По моему мнению, поиск товаров и услуг - типичная задача для РСУБД, а у вас просто чешутся руки попробовать что-то другое крутое и экзотическое.

Если анализ не проведен, то введение дополнительных средств (фич базы данных, нереляционных хранилищ и т.д.) может привести к успеху только случайно.

Советую на соседнем форуме опубликовать схему данных, типичные тормозящие запросы и посмотреть что народ скажет.

Спасибо, так и поступлю:) А в целом, Вы, правы - действительно хотелось попробовать что-то новое.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36249454
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что мешает сделать репликацию и рассредоточить селекты по репликам?
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36258372
daevaorn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
phprus В общем результата я так и не дождался, так что для каких-либо выборок, кроме выборок по ключу он явно подходит слабо.
Так и надо по ключам всегда искать. Он для этого и оптимизирован. Тогда есть большой бенефит.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36267128
phprus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daevaornphprus В общем результата я так и не дождался, так что для каких-либо выборок, кроме выборок по ключу он явно подходит слабо.
Так и надо по ключам всегда искать. Он для этого и оптимизирован. Тогда есть большой бенефит.
Не только для этого. По информации на официальном сайте он еще оптимизирован для заранее прописанных и сгенерированных самой CouchDB выборок, через механизм View. Но они на столько долго создаются и потребление памяти у них такое, что я бы 100 раз подумал о том стоит ли его использовать если ничего из заявленной функциональности, кроме доступа по тому-же ключу, что использовался при вставке в моих задачах применить не получилось из-за проблем со скорость.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36267361
daevaorn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
phprusНе только для этого. По информации на официальном сайте он еще оптимизирован для заранее прописанных и сгенерированных самой CouchDB выборок, через механизм View. Но они на столько долго создаются и потребление памяти у них такое, что я бы 100 раз подумал о том стоит ли его использовать если ничего из заявленной функциональности, кроме доступа по тому-же ключу, что использовался при вставке в моих задачах применить не получилось из-за проблем со скорость.
Вы что-то путаете - перманентные view считаются 1 раз, а потом по ключу вы можете из них получать какое-то подмножество данных с очень большой скоростью. На паре сотен тысяч документов, которые у меня были, процесс создания такого индекста занимал несколько минут. Не часов всё-таки. Потом инкрементально они очень быстро обновляются.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36270497
Фотография Nikolay Kalmarskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, что достаточно разбить все данные по хешу на десяток серверов и запускать полнотекстовый поиск одновременно на каждом. Один из них да найдёт. Либо не найдёт ни один. Но! За счёт того, что объём данных, обрабатываемых каждым сервером будет ограничен, время такого распределённого запроса окажется небольшим.

При этом, тот же самый Shinx и MySQL. Практически ничего не переписываете.
...
Рейтинг: 0 / 0
Распределенные хранилища
    #36270593
phprus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daevaornВы что-то путаете - перманентные view считаются 1 раз, а потом по ключу вы можете из них получать какое-то подмножество данных с очень большой скоростью. На паре сотен тысяч документов, которые у меня были, процесс создания такого индекста занимал несколько минут. Не часов всё-таки. Потом инкрементально они очень быстро обновляются.
Возможно я что-то не правильно тестировал, но я так и не дождаться построения какой-либо более менее сложной view (Мне надо было вытащить одно поле документа в качестве ключа, и сопоставить ему примерно половину оставшихся полей документа).
Объем данных, который сохранил CouchDB (сразу после вставки, до создания view) был порядка 250 мегабайт, а в sql базе это-же заняло мегабайт 15-20. View у меня считалась более 10 часов, но так и не досчиталась. На SQL базе без индексов аналогичный запрос выдавал результат за считанные секунды (примерно 400-500 тысяч маленьких записей из даты и трех чисел).
При том когда из интереса я очистил CouchDB-базу и вставил в нее порядка нескольких сотен записей, то то-же самый view просчитался очень быстро.
По этому мне и показалось, что не все так хорошо в CouchDB с view.

А на счет выборок по id, который был присвоен документу в момент записи, то она действительно очень быстрая. Точно так-же быстро у меня считались и те тестовые view, в которых стадия reduce была аггрегатной функцией (к примеру сумма).

Модератор: Тема перенесена из форума "Сравнение СУБД".
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Распределенные хранилища
    #36956064
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phprus,

Как-то по описанию - совсем маленькая нагрузка. Может, попробовать оптимизировать БД или вместо MySQL поставить что-то более пристойное (Postgress, DB2 Express C - если из бесплатных).

Про NoSQL стоит думать, если объем данных зайдет за десятки ТБ и будет нужно иметь тысячи (десятки тысяч) запросов в секунду. Да и то...
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Распределенные хранилища
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]