|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Нужно организовать хранение примерно 20 миллионов документов, состоящих преимущественно из одного или нескольких файлов в формате DjVu (http://ru.wikipedia.org/wiki/DjVu - если кому интересно что за формат). Один документ, таким образом, занимает в среднем чуть меньше 2 Мб. Соответственно, общий объём базы составит порядка 40 Тб. Формат DjVu выбран, в частности и потому, что он поддерживает слой текста и возможность поиска текста внутри таких файлов. Соответственно и в базе данных должны быть возможности для полнотекстового поиска внутри хранимых DjVu файлов, например, составлением индекса при загрузке в базу или ещё как. Основная нагрузка на базу – выдача документов по запросу и осуществление поиска по тексту внутри. Обновление базы будут происходить достаточно редко, примерно 1000 документов в день добавляться, а изменения среди уже добавленных будут совсем редко происходить. Ну может пара-тройка документов в день максимум изменится. Количество пользователей – примерно 1000, предполагается, что работать с базой они будут активно и один пользователь может запросить в день около 100 документов. Естественно, время ожидания загрузки не должно раздражать пользователей, следовательно оно не должно быть больше минуты, по-любому. Интерфейс для работы клиентов – обычный браузер. Посоветуйте в сторону каких систем и решений начинать думать. Операционная система, СУБД, серверный софт для раздачи, железо для хранения данных, для раздачи их. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 11:30 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
По-видимому, Yandex.Server. Если нужен русский язык, сложные запросы, морфология. Правда, у них явно не сказано о поддержке djvu. Сделать простейшее индекстирование по отдельным словам несложно и самим, сохранить индекс в бинарных файлах и mmap/bsearch по ним (при этом размер базы не имеет большого значения), но только без учета морфологии, сложных запрсов и т.п. - иначе имхо не оправданы затраты на R&D. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 12:10 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Mike7Посоветуйте в сторону каких систем и решений начинать думать. В первую очередь понять, что "найти файл" и "вернуть файл клиенту" - две разных и малосвязанных задачи. Оценить объем индексируемого текста, оценить, с какой попытки поискового запроса пользователь найдет нужный файл, составить список СУБД, поддерживающих полнотекстовый поиск, проанализировать их фичи-ограничения на предмет соответствия вашим потребностям, в интересных вариантах поинтересоваться в соответствующих форумах "а какое железо нужно, чтобы вытянуть поток из [например] 500 поисковых запросов в минуту". Аналогично, но уже мало связано с СУБД - "а что нужно, чтобы веб-сервер прокачивал на клиентов по полгига в минуту из 40тб файловой помойки". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 13:54 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Начать нужно с оценки размера необходимых инвестиций в такой проект. Если исходить из грубой оценки: мин. стоимость 1Тб (система хранения) ~ $30K Тогда 40 * $30K = $1.2M. Это - стоимость системы хранения. Прибавим сюда серверы и прочее HW (~ $500K), работы по развертке решения (~$100K - скромно), в итоге получим около $2М. PS Порядок оценок соответствует проектам такого рода, так что есть большая вероятность того, что начальные требования со стороны бизнеса существенно изменятся после знакомства с цифрами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 15:22 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Любая документоимейджинговая система. Есть такие. MS Sharepoint - вообще из коробки, если смените djvu на более распространенный формат. -- "Government is not a solution to our problem, government is the problem." -- Ronald Reagan ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 15:42 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Кстати, 1Тб в системе хранения на SATA стОит $2000. -- "Government is not a solution to our problem, government is the problem." -- Ronald Reagan ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 15:44 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
2 Someбади Не сомневаюсь, что можно еще дешевле найти. Я говорил о промышленных решениях, способных поддержать работу 1000 пользователей, обеспечить приемлемый уровень надежности и обслуживания, близкий к 7х24. Причем речь шла даже не о HI-END классе, для которого стоимость 1Тб доходит до $100K. Ну и, не учитывалась стоимость поддержки систем резервирования, бесперебойного питания и т.п. PS Прошу не воспринимать данные оценки, как единственно возможные, т.к. они делались исходя из информации по организации весьма серьезной системы хранения в одной из очень успешных российских компаний, которая могла себе позволить такие вложения. Цель моего сообщения - плясать от бюджета, т.к. традиционно бизнес выдвигает максимальные требования, считая, что затраты будут весьма умеренными. Когда же заказчики получают более-менее реальную оценку, то начинают рассматривать варианты и, для данного случая, могут поменять требования к объемам данных, количеству пользователей и времени доступа, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 17:33 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Я считаю hi-end storage надувательством, для распиливания бюджетов крупных глупых контор. Если бы это было не так, системы гугля, амазона, яндекса и прочих строились бы на них, а не на максимально доступных серийных (commodity) железках. Лишнее бабло лучше пустить на процессоры и ОЗУ в виде индексирующих ферм из тех самых commodity серверов, чтобы быстрее шла индексация. -- "Government is not a solution to our problem, government is the problem." -- Ronald Reagan ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 23:11 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
> о промышленных решениях, способных поддержать работу 1000 пользователей, > обеспечить приемлемый уровень надежности и обслуживания, близкий к 7х24. Какова проектная надежность программно-аппаратного комплекса в Вашем случае и нафига она нужна обычной файлопомойке, можно поинтересоваться? > HI-END классе, для которого стоимость 1Тб доходит до $100K Можно подробнее, что это за железка за столь безумные деньги? Лицевая панель, полагаю, инкрустирована золотом? > которая могла себе позволить такие вложения Любая задача имеет альтернативные решения. Ниоткуда не следует, что в Вашем случае бабло не было просто успешно освоено. > плясать от бюджета В данном случае - бессмысленное занятие. Автор вопроса не понимает, как должна работать такая система. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 00:31 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
> 1Тб в системе хранения на SATA стОит $2000. Уже сильно дешевле. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 00:42 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Разумеется, что создавать такую систему только на основе обсуждения на форуме никому не позволят :) Насчет бюджета могу сказать, что Jimmy где-то угадал, речь примерно о такой сумме и шла, возможно несколько меньшей, но порядок тот же. > В данном случае - бессмысленное занятие. Автор вопроса не понимает, как должна работать такая система. А я разве говорил, что понимаю? Более того, вовсе не я самый главный, максимум чего могу, аргументированно посоветовать что-то выбрать. Насчёт нагрузки я не понял откуда такая цифра в полгига за минуту взялась? Если считать, то у меня получается примерно 50-60 Мб/мин. Насчёт SharePoint - по-моему, этот продукт вообще не для данных ситуаций был придуман, тем более, что он уже зараннее накладывает ограничения на формат файлов. DjVu - и никто не будет что-то другое выбирать. И честно говоря, я не понимаю, почему DjVu плох, если не считать его относительно малой распространенности. Yandex.Server - думали, но боюсь в чистом виде он никак не подойдёт. Собственно, "из коробки" тут ничего не подойдёт, надо будет немало писать самим. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 08:23 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
SomeбадиЯ считаю hi-end storage надувательством, для распиливания бюджетов крупных глупых контор. Если бы это было не так, системы гугля, амазона, яндекса и прочих строились бы на них, а не на максимально доступных серийных (commodity) железках. Лишнее бабло лучше пустить на процессоры и ОЗУ в виде индексирующих ферм из тех самых commodity серверов, чтобы быстрее шла индексация. -- "Government is not a solution to our problem, government is the problem." -- Ronald Reagan +10 Абсолютно согласен.. Storage systems могут быть оправданы для хранения данных, например, процессингового центра, требуещего очень высокой производительность в режиме 24х7.. Тогда можно использовать фоновый бэкап, автоматическое перемонтирование и т.п. А в иных случаях - имхо просто развод. Mike7 Yandex.Server - думали, но боюсь в чистом виде он никак не подойдёт. Собственно, "из коробки" тут ничего не подойдёт, надо будет немало писать самим. Простите за, возможно, неуместное любопытство, но интересно, что за особенности есть у задачи (кроме формата djvu), которые не реализованы в существующих системах? Дело в том, что аналогичными задачами (работа с БД больших объемов) некоторое время я занимался, поэтому возник профессиональный интерес. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 10:10 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
> порядок тот же Вас, дружище, развели как кроликов. > Более того, вовсе не я самый главный, максимум чего могу, аргументированно > посоветовать что-то выбрать. Простите, о каких аргументах идет речь, если Вы задачу сформулировать не в состоянии? Совет: оплатите консультацию вменяемого специалиста, сэкономите кучу бабла. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 10:12 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Я думаю, проблема в выбиральщиках, заточенных на "допишем сами". Проблемы вообще нет. Все доступно на рынке. google 60,500 for document imaging djvu. vs google 1,190,000 for document imaging pdf searchable text. выбрали в 60 раз менее распространенный формат, чем pdf, и начинают изобретать велосипед ;) -- "Government is not a solution to our problem, government is the problem." -- Ronald Reagan ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 10:19 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
автор> 1Тб в системе хранения на SATA стОит $2000. Уже сильно дешевле. Я считал брэндованные и с терабайтными дисками - чего уж там мелочиться ;) -- "Government is not a solution to our problem, government is the problem." -- Ronald Reagan ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 10:20 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
> чего уж там мелочиться ;) Да конечно, какая фигня: $800 за терабайт или два килобакса, - всего в два с половиной раза дороже. За красЯвую нашлепку на передней панели и гламурный цвет корпуса. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 10:26 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Mike7Насчёт нагрузки я не понял откуда такая цифра в полгига за минуту взялась? Если считать, то у меня получается примерно 50-60 Мб/мин. Ну, я не очень представляю, как считать так, чтобы получить 50-60. Твои цифры: тысяча пользователей, сто двухмегабайтных документов в день на пользователя. Рабочий день - 480 минут, для удобства округлим до 500, то есть пользователь запрашивает документ в среднем раз в пять минут, то есть в среднем 200 документов в минуту, 400Мб. Одним словом проще сказать "полгига". Разумеется, это средняя нагрузка, пиковая - отдельный вопрос, тут уже надо смотреть специфику. Если предположить, что нагрузка размазана по 24 часам, средняя соответственно уменьшается втрое, то есть 130Мб. Но как ты получаешь 50-60, я не готов понять. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 11:08 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
softwarer Но как ты получаешь 50-60, я не готов понять. Вроде ты правильно подсчитал, но и я считал: Нагрузка на сетевой интерфейс: 1 мин на загрузку 2 Мб = 2096Кб/60 ~= 33 Кб/сек. на пользователя надо гарантировать. Возможное число обращений к базе в секунду: 1000 пользователей * 100 запросов в день / 8 часов = 3,47 запроса в секунду. Следовательно, отдавать надо поток 33 Кб/сек * 3.47 = 114.5 Кб/сек с сервера. Для гарантии, пусть 1Мб/сек. Ты вроде тоже правильно подсчитал. Чувствую себя дебилом :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 12:04 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Mike7 1 мин на загрузку 2 Мб = 2096Кб/60 ~= 33 Кб/сек. Маленькое пояснение, а то совсем странно выглядит: 2096 Кб - это именно средний объём, округляемый до 2Мб. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 12:08 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Mike71 мин на загрузку 2 Мбправильнее будет "не более 1 минуты на загрузку 2 Мб" Mike7Следовательно, отдавать надо поток 33 Кб/сек * 3.47 = 114.5 Кб/сек с сервера.еще надо умножить на среднюю длительность загрузки, т.к. в каждую секунду выполняются не только запросы поступившие именно в эту секунду, но и те которые поступили до этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 12:50 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Mike7Возможное число обращений к базе в секунду: 1000 пользователей * 100 запросов в день / 8 часов = 3,47 запроса в секунду. Верно. То есть каждую секунду у сервера запрашивают 3.47 * 2096 ~= 7.1 Мб информации. На какое время он растянет ее отдачу - вопрос второй, но если он не сможет прокачивать 7.1 Мб/сек, он захлебнется (время ожидания начнет монотонно увеличиваться пока соединения не начнут падать по таймауту). Что же до твоего решения, то cмотри внимательно: 2096Кб/60 ~= 33 килобайта в секунду на запрос 1000 пользователей * 100 запросов от пользователя в день / 8 часов = 3,47 запроса в секунду. 33 Кб/сек/запрос * 3.47 запрос/сек = 114.5 Кб (а вовсе не Кб/сек) В мое время это была тема шестого класс школы, контроль размерности. Очевидно, что величина, измеряемая в килобайтах, никак не может являться метрикой пропускной способности. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 14:43 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
softwarer33 Кб/сек/запрос * 3.47 запрос/сек = 114.5 Кб (а вовсе не Кб/сек) Прошу прощения, уже сам поспешил. Следует читать как: 33 Кб/сек/запрос * 3.47 запрос/сек = 114.5 Кб / сек 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 14:49 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
miksoft Mike71 мин на загрузку 2 Мбправильнее будет "не более 1 минуты на загрузку 2 Мб" Mike7Следовательно, отдавать надо поток 33 Кб/сек * 3.47 = 114.5 Кб/сек с сервера.еще надо умножить на среднюю длительность загрузки, т.к. в каждую секунду выполняются не только запросы поступившие именно в эту секунду, но и те которые поступили до этого. О, верно! Тогда получается, что нужно где-то 6-7 Мб/сек. т.е. где-то 10 Мб/сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2007, 17:21 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
guest_20040621> 1Тб в системе хранения на SATA стОит $2000. Уже сильно дешевле. MAxtor Sata 500 G ~150 USD low level HP server 400 USD держит 7 винтов x 500G = 3.5T ~ 1500 USD 12 серверов x 1500 = 18,000 USD для работы в Hight Safity mode с миррорингом на MSSQL2005 еще 18000 + 1 сервер для свидетеля. итого 40 К максимум для режима 24x7x365 + лицензии на сервера ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2007, 21:12 |
|
40 Тб база, с чего начать?
|
|||
---|---|---|---|
#18+
Lepsikитого 40 К максимум для режима 24x7x365 + лицензии на сервера Да уж, такой маааааленький незаметный плюс. Если не изменяет память, двадцать пять тысяч баксов на процессор - итого $625'000 не считая лицензий на операционку - и это ради того, чтобы сэкономить $40'000 на железе. Сильная мысль. Заодно веселая мысль - тратить двадцать пять процессоров на тысячу столь активно работающих пользователей. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2007, 21:23 |
|
|
start [/forum/topic.php?fid=33&fpage=49&tid=1548955]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 415ms |
0 / 0 |