Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Помогите с выбором БД для анализа текстов -до сотен тысяч страниц. / 25 сообщений из 126, страница 1 из 6
05.01.2012, 14:14
    #37603004
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Бюро переводов. Раньше мы решали свои задачи с помощью программ полнотекстового поиска вроде dtsearch. Потом перешли на самописное добро, vb.net. Всё работает , но медленно.
Наша типичная задачка:
- есть таблица базы данных с двумя столбцами. В одном столбце - слово (тип string). В другом столбце- ID файла содержащего это слово и т.п.

Запросом создаем табличку частотности слов, типа "слово- в скольких строках БД встречается".

Если обрабатывать лишь 4000 страниц текста (порядка 250 слов на страницу)- это уже дает порядка 1 000 000 слов (т.е. записей) - и такое уже не мгновенно работает.

А нам хотелось бы обрабатывать хотя бы 40 000 страниц - а это уже 10 млн записей и реально небыстро происходит. (Вообще то у нас под сотни тысяч страниц текстов, но об анализе таких объемов под 100 млн строк в БД , пока даже не задумывались..)

Еще что: НЕ ТРЕБУЕТСЯ работа по сети (всё сейчас происходит на отдельном компьютере), работает один пользователь, может быть сколько угодно много библиотек, сложное развертывание, долгое создание индексов и пр

Вопрос. Какая организация хранения слов даст максимальную производительность на таких задачках- выборках слов с их обсчетом и пр? (Похоже все кто делает full text search используют проприетарные технологии хранения слов- от google До DtSearch.. но нам не хотелось бы так усложнять..)

Кто на таких задачах быстрее - SQLite, JET, Firebird, MS SQL Express и т.п.?

Кстати, 10 млн слов - это всего лишь порядка 200 Мб (если считать макс длину слова 20 байт)- пр таких базах-крошках переход к in memory database ничего не даст, да?

Интересует исключительно скорость выборки. А при прочих равных услвоиях - удобство интеграции с программами сделанными в .NET.
...
Рейтинг: 0 / 0
05.01.2012, 14:26
    #37603021
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemmaКто на таких задачах быстрее - SQLite, JET, Firebird, MS SQL Express и т.п.?

Та, которую знает нанятый вами программист. То недоразумение, которое на данный момент
выполняет его функции надо перевести на другую работу, более соответствующую его складу ума.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.01.2012, 14:34
    #37603032
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Dimitry Sibiryakov,

Поясню.
я- переводчик, не программист. Чтобы нанимать человека со знанием интересующих нас технологий работы с текстом (морфологизация, токенизация и пр) - надо хотя бы в общих чертах понимать перспективы задачи. А может там такое потребуется железо, что это будет просто нерентабельным?)

Возможно , мы НЕ ТАК работаем с текстами, как следовало бы. Ок.

Но ваш ответ очень типичен для рашкинских программеров).
Мне, например, приходится много работать с американскими юристами- к ним обращаешься- помогут даже с общими вопросами - ибо у них есть ВИДЕНИЕ и пр. А к местным обратиться- отвечают примерно как вы).

Типа вы нам ТехЗадание поставьте и пр. лепет.
...
Рейтинг: 0 / 0
05.01.2012, 14:40
    #37603041
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemmaМне, например, приходится много работать с американскими юристами- к ним обращаешься-
помогут даже с общими вопросами - ибо у них есть ВИДЕНИЕ и пр.

Нет, потому что за свои ответы, даже бесполезные, они выставят вам счёт. Если Вы
обратитесь ко мне в официальную техподдержку, я тоже помогу Вам даже с общими вопросами.
За соответствующую плату.

Требуемая мощность железа обратно пропорциональна квалификации вышеупомянутого
программиста. Что Вы и можете наблюдать на собственном примере.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.01.2012, 14:45
    #37603050
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Dimitry Sibiryakov,



Анекдот был такой:
- Если на американском форуме задать вопрос- ответят решением.
- Если на израильском форуме задать вопрос- ответят вопросом.
- Если на российском форуме задать вопрос- тебе объяснят , что ты идиот)

Вы прям таки иллюсстрация.
...
Рейтинг: 0 / 0
05.01.2012, 14:52
    #37603070
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemmaАнекдот был такой:
Этот анекдот пересказывают исключительно те, кто не пытался обращаться на американские
форумы. Вопросы сложнее 2+2 там остаются без ответов годами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.01.2012, 14:55
    #37603078
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Dimitry Sibiryakov,

я исхожу исключительно из собственного опыта).

программер из пост-совка может (возможно) выполнить техническую задачу- драйвер там портировать ... Но если задача выходит за рамки примитива- лучше таки общаться с белыми людьми.
...
Рейтинг: 0 / 0
05.01.2012, 14:59
    #37603091
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemmaНаша типичная задачка:
- есть таблица базы данных с двумя столбцами. В одном столбце - слово (тип string). В другом столбце- ID файла содержащего это слово и т.п.

количество слов в конкретном языке конечно. Миллиона слов, если я не ошибаюсь, нет ни в одном языке. Так что ваша "база данных" спроектирована неверно. О чем вам и намекнул DS.
Так что, вам нужно или уже готовое решение, или программист.
...
Рейтинг: 0 / 0
05.01.2012, 15:10
    #37603105
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemmaлучше таки общаться с белыми людьми.
Ну так вперёд! Потом расскажете о результатах.

Ваши предшественники отмазывались незнанием английского, но для переводчика это было бы
смешно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.01.2012, 15:15
    #37603115
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
kdv,

Я же писал в посте- "создаем табличку частотности слов,"

то есть - имеем десятки тысяч файлов в формате plain text. Это наши (и предоставленные заказчиками) переводы.

частотность- это сколько раз слово встречается во всех файлах. или в конкретном файле.
----------------------------
пример.
Было до обсчета

вася-IDфайл1
петя-IDфайл1
...
вася-IDфайл2
маша-IDфайл2
...

стало (слово "Вася" встречается 2 раза, "петя"- 1 раз)
вася- 2
петя- 1
---------------------------------------------------------------


Кроме того. При анализе текстов мы отбрасывам "стоп-слова" (предлоги "на", "под", междометия "ух" и пр). Еще и стеммером приводим слова к единой форме.


Поэтому, с учетом того, что сырые данные нами обрабатываются (подсчет числа слов- самый простой пример обработки)- то на выходе, после обработки, таблички частотности слов редко содержат более 20 000 слов.

То есть ДО обработки- миллион слов, выковыренных из txt файлов.
После обработки- редко более 20 000 слов (и то там много фамилий, географических названий и пр)- ничего аномального для русского языка у нас нет.
...
Рейтинг: 0 / 0
05.01.2012, 15:26
    #37603140
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemma я исхожу исключительно из собственного опыта). Так вперёд на американский форум - в чём проблемы ?

lemmaпрограммер из пост-совка может (возможно) выполнить техническую задачу- драйвер там портировать ... Но если задача выходит за рамки примитива- лучше таки общаться с белыми людьми.И вы после этого ещё рассчитываете на помощь тут ?

PS вы всерьёз полагаете, что ваша "задача" "выходит за рамки примитива" ?
...
Рейтинг: 0 / 0
05.01.2012, 15:35
    #37603159
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
"PS вы всерьёз полагаете, что ваша "задача" "выходит за рамки примитива" ?"


А что есть "примитив"?) в моем понимании, это когда есть более-менее устраивающий заказчика алгоритм.

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

А в моей задаче нетривиально сделать оценку быстродействия - как время выполнения запроса бубудет меняться с ростом числа слов и пр?

Нетривиально для меня, например. Но раз вы все молчите- значит и для вас.

Ибо если человек не может "на пальцах" что то прикинуть, пояснить где узкое место- он не специалист. А так- постсовковый ходячий интерфейс к информации в MSDN, залитой туда белыми людьми)
...
Рейтинг: 0 / 0
05.01.2012, 15:47
    #37603177
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemmaА в моей задаче нетривиально сделать оценку быстродействия - как время выполнения запроса
бубудет меняться с ростом числа слов и пр?

Это-то как раз тривиально: никак не будет меняться. Потому что создание частотной таблицы
- разовая операция. Далее актуальность информации в ней обычно поддерживается триггерами.
Поэтому запрос к этой таблице будет иметь постоянную скорость.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.01.2012, 15:52
    #37603180
Росгоснанораспилтрест
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemma
Ибо если человек не может "на пальцах" что то прикинуть, пояснить где узкое место- он не специалист. А так- постсовковый ходячий интерфейс к информации в MSDN, залитой туда белыми людьми )

Индусы - они... Как бы это... Не совсем белые.
...
Рейтинг: 0 / 0
05.01.2012, 15:59
    #37603187
Andrey Sribnyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemma,

Подобная задача сейчас крутится на ms sql без проблем вообще
вот первых 20 по числу упоминаний:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
WordId      Spelling                                           Count
----------- -------------------------------------------------- -----------
195309      РОССИЯ                                             5722368
195355      ЧЕЛОВЕК                                            4327098
196112      ПУТИН                                              4266490
195443      ГОД                                                3753023
195828      МОЧЬ                                               3445157
195293      ДЕТЬ                                               3392836
195318      СТАТЬ                                              2312187
195901      ГОВОРИТЬ                                           2253791
195730      ЕСТЬ                                               2191530
198340      ВЫБОРЫ                                             2156405
196267      БЫТЬ                                               2142745
196054      СТРАНА                                             2117816
195259      МЕДВЕДЕВ                                           2105829
195916      ПАРТИЯ                                             1983642
195875      ВЛАСТЬ                                             1932624
195243      ПРЕЗИДЕНТ                                          1882698
195281      ВРЕМЯ                                              1872260
195277      СКАЗАТЬ                                            1849879
195261      НОВЫЙ                                              1806793
195918      ЕДИНЫЙ                                             1646604

(20 row(s) affected)


...
Рейтинг: 0 / 0
05.01.2012, 16:04
    #37603192
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Dimitry Sibiryakov,

"Это-то как раз тривиально: никак не будет меняться. Потому что создание частотной таблицы
- разовая операция. Далее актуальность информации в ней обычно поддерживается триггерами.
Поэтому запрос к этой таблице будет иметь постоянную скорость."


- Отлично! Интересует именно МИНИМИЗАЦИЯ времени выполнения данной "разовой операции". Ибо:


Сегодня мы работаем с одним набором текстов от одного заказчика, завтра - с совсем другим набором.

Но каждый раз перед началом перевода делается некая "переводческая аналитика". //Это скучная наша кухня. Если "на пальцах"- смотрим насколько тексты пересекаются с тем, что мы пранее переводили, доля аббревиатур-чисел в текстах и пр//

В эту "аналитику" входит и то , что мы сейчас делаем запросами к БД- создание итз выковыренных из текстов слов "табличек показывающих с какой частотой встречается слово в данной группе текстов" .

Для каждой группы текстов- СВОЯ табличка частотности. То есть, ранее выполненная работа с ИНЫМИ текстами НИКАК нам не помогает для обсчета НОВОЙ кучи текстов.

Вот и интересуемся- какая БД для конкретного набора текстов создаст "табличку частотности" з аминимальнео время.

PS Можно, конечно, и просто программой пройтись по сырым текстовым файлам- и прямо во время прохода по сырцам сделать такую табличку.
Но такое не годится. Нам нужно много запросов- и хотелось бы все таки делать это максимально стандартными способами- запросами к НЕКОЙ БД, а не писать уникальный код для каждой выборки по словам(.
...
Рейтинг: 0 / 0
05.01.2012, 16:06
    #37603195
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
РосгоснанораспилтрестlemmaИбо если человек не может "на пальцах" что то прикинуть, пояснить где узкое место- он не специалист. А так- постсовковый ходячий интерфейс к информации в MSDN, залитой туда белыми людьми )

Индусы - они... Как бы это... Не совсем белые.


- Ну поправим- белые и не совсчем белые, но отбеленные немного)
...
Рейтинг: 0 / 0
05.01.2012, 16:07
    #37603196
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemma, fа вчем проблема? Вы весьма подробно описали, как решать вашу задачу. Мне не очень понятно,в чем тормоза.
Может вам не стоит каждый раз ковырять всю базу текстов заново с нуля при каждом запросе? А подгружать файл в базу по мере его поступления, при подгрузке пересчитывать частотности.
Тут форум технический, уточните проблему - поможем. А на хамов внимания не обращайте.
...
Рейтинг: 0 / 0
05.01.2012, 16:09
    #37603201
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Andrey Sribnyak,

"Подобная задача сейчас крутится на ms sql без проблем вообще
вот первых 20 по числу упоминаний:"

- Вы делаете упор на "Без проблем".
А для меня ваш ответ не очень информативен, ибо как я писал:

1) Есть набор текстов
2) Надо сделать табличку частотности
3) Работа с КАКОЙ БД МИНИМИЗИРУЕТ (!!!!) время создания таблички подобной той что вы указали.

Ну сделали вы табличку. Так мы и сами можем.
Какая связь вашего ответа с моим постом? Я в нем спрашивал о минимизации времени ее первичного создания.
...
Рейтинг: 0 / 0
05.01.2012, 16:13
    #37603211
.ЛП
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Ggg_oldТут форум технический
В первую очередь - тут форум "Сравнение СУБД".
Судя по описанию задачи, сравнивать СУБД тут вообще ни к чему. Дмитрий Сибиряков по поводу сравнения и выбора первым же предложением выдал исчерпывающий ответ - "та, которую знает нанятый вами программист". Разве что TJ7 можно ещё порекомендовать, в качестве наилучшего выбора.

А дальше или в форум "Работа", или в форум "Программирование", или в специализированный форум по конкретной СУБД.
...
Рейтинг: 0 / 0
05.01.2012, 16:16
    #37603216
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemmaДля каждой группы текстов- СВОЯ табличка частотности.
Нет, табличка на всех общая. В ней просто есть дополнительное поле "группа текстов".
Почитайте уже какие-нибудь азы проектирования БД...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.01.2012, 16:16
    #37603218
Andrey Sribnyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemma,

База данных она лишь >>>ХРАНИТ <<< какие-то данные. Минимизировать время для ее заполнения она не в состоянии. Вам же необходима какая-то программная часть которая :
а. Будет разбирать каждый из файлов на составные часть т.е слова
6. Будет проверять есть ли такое слово в словаре
с. В зависимости от предыдущего шага будет либо увеличивать счетчик, либо добавлять новую запись в словарь

Мне не понятна суть проблемы...
...
Рейтинг: 0 / 0
05.01.2012, 16:19
    #37603221
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Andrey SribnyakМне не понятна суть проблемы...
Суть проблемы выражена словами ТСа "я не программист, а переводчик".

PS: "Беда коль сапоги начнёт тачать пирожник..." (с) Крылов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.01.2012, 16:35
    #37603235
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
lemmaИнтересует исключительно скорость выборки
lemmaВот и интересуемся- какая БД для конкретного набора текстов создаст "табличку частотности" з аминимальнео время.
Кто-то может это расшифровать ?
...
Рейтинг: 0 / 0
05.01.2012, 16:36
    #37603237
lemma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
Ggg_old,

"lemma, вчем проблема? Вы весьма подробно описали, как решать вашу задачу. Мне не очень понятно,в чем тормоза."

Спасибо. Проблема, похоже в том, что я не могу сформулировать задачу:

А) Я не программист. Сам могу делать поверхностные вещи, скажем в vb.net. У меня есть более IT-продвинутые сотрудники, но они, увы, исполнители. Поставить цель, написать техзадание, тем более ОБОСНОВАТЬ использование архитектуры и пр- они не могут.

Б) Мой бюджет ограничен- навороченного специалиста я в штат нанять не могу, да и незачем, вроде- работа то проектная.

В) Наверное, идеалом было бы обращение к консалтерам. Но даже с ними как-то не хочется начинать общение с нуля.

Г) Для нас ключевой момент - программа должна максимально быстро выполнять запросы о которых написано выше.
//Можно упомянуть OLAP - на моем дилетантском уровне, при таком подходе из "совсем сырых" цифровых данных делаются некие срезы. Промежуточные расчеты. Используя их, аналитик может делать достаточно сложные запросы - но это будет быстро (!) ибо строятся они не через обращение к исходным данным а к результатам промежуточной обработки. НО УВЫ, ничего похожего на OLAP при работе с текстовыми данными вроде нет///
Поэтому, вроде, тут первичный вопрос о том, в каком виде хранить данные. А именно- выковыренные из исходных текстов слова и пр. (работать нам нужно именно на уровне СЛОВ. Имеющиеся средства полнотекстового поиска большинство наших задач не решают).

Д) Я нигде не смог найти тестов сравнения производительности разных БД. Например, сколько времени занимает создание индекса или некий запрос для 1 млн строк . И т.п.
Плюс сейчас много информации о каких то экзотических для меня вещах типа in- memory database, или базы данных с хранением по столбцам ( Column-oriented DBMS). Все они говорят , что рвут конкурентов).
Плюс все пишут что у Google и пр поисковиков данные хранятся в проприетарном формате.

Е) В общем- избыток информации. Я немного запутался). Упрощаю вопрос.
Есть текстовый файл, plain text. он состоит из строк, в каждой строке- ровно ОДНО слово (макс длина слова 20 байт). Сколько строк? обычно до 10 000 000, но не хотелось бы как то ограничивать себя числом строк..

Нужно сделать табличку частотности. А именно:
Был текстовый файл
-------------
вася
петя
вася
вася
петя
.............
--------------
Стала табличка частотности, сколько раз встречается слово:
вася- 3 раза
петя - 2 раза
---------------------
Вопрос. В какой базе данных такая табличка делается быстрее всего? (то есть нам нужно сначала текстовый файл запихать в некую БД. В лоб по текст-файлам считать не годится)
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Помогите с выбором БД для анализа текстов -до сотен тысяч страниц. / 25 сообщений из 126, страница 1 из 6
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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