powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
126 сообщений из 126, показаны все 6 страниц
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #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
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603021
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaКто на таких задачах быстрее - SQLite, JET, Firebird, MS SQL Express и т.п.?

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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


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

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

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

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

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

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

Индусы - они... Как бы это... Не совсем белые.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #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
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603192
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

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


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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

PS: "Беда коль сапоги начнёт тачать пирожник..." (с) Крылов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603235
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaИнтересует исключительно скорость выборки
lemmaВот и интересуемся- какая БД для конкретного набора текстов создаст "табличку частотности" з аминимальнео время.
Кто-то может это расшифровать ?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #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
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603245
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaнам нужно сначала текстовый файл запихать в некую БД. В лоб по текст-файлам считать не годится

Что мешает? Задача-то (как описана) не для СУБД. Вам в key-value область. Т.е. сначала вы
по файлу строите эту табличку в памяти, а потом уже можете заливать её в любую СУБД. На
Lua, например, эта задача решается в десять строчек.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603246
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.ЛП,
"Судя по описанию задачи, сравнивать СУБД тут вообще ни к чему. "

Как это ни к чему, если единственное что меня интересует, КАКАЯ именно БД максимально быстро выполнит конкретную операцию?

я тут еще попытался расшифровать- для тех кто выше за деревьями не видит леса)
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=907965&msg=11862364
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603248
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey Sribnyak,



я тут еще попытался расшифровать- для тех кто выше за деревьями не видит леса)
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=907965&msg=11862364
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603261
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaКак это ни к чему, если единственное что меня интересует, КАКАЯ именно БД максимально
быстро выполнит конкретную операцию?

Потому что ты как баран упёрся в своё решение этой задачи "посчитать частоты вхождения
слов средствами СУБД". Эта задача быстрее и проще решается ВНЕ СУБД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603266
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

/нам нужно сначала текстовый файл запихать в некую БД. В лоб по текст-файлам считать не годится/

"Что мешает? Задача-то (как описана) не для СУБД. Вам в key-value область. "
- Спасибо. не знал про key value. Оказывается, это сейчас модно -
http://dotsid.wordpress.com/category/key-value/



"Т.е. сначала вы
по файлу строите эту табличку в памяти, "

- Так не годится же ваш продход. ).
Я же писал желаемую последовательность шагов:
А) имеющиеся текст-файлы разбираем по словам
Б) слова запихиваем в НЕКУЮ БД
В) Эту базу потом ковыряем запросами, в том числе типа частотности. Задача- указать бьазу данных максимально быстро позволяющую сделать табличку частотности.

То есть мы хотим работать со словами запиханными в базу. А вы предлагаете в очередной раз сделать табличку частотности ВНЕ базы данных, а потмо всё запихать в БД.
Это варварский подход). Делать надо сатндартными средствами все. А не так- для каждой задачи свой код.
Еще предложите табличку средствами Ассемблера создать)


"а потом уже можете заливать её в любую СУБД. На
Lua, например, эта задача решается в десять строчек."
- вот поясните, чсто дает в даном случае обращение к языку LUA по которому мало информации, специалистов? Что , все это на с++ сделать нельзя?
или вы просто слова новые любите?)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603270
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

"Потому что ты как баран упёрся в своё решение этой задачи "посчитать частоты вхождения
слов средствами СУБД". Эта задача быстрее и проще решается ВНЕ СУБД."

- конечно. на асемблере такое особенно быстро решается).
Ты, постсовковый кодер, в состоянии ли понять, что если изначально я пишу "НАДО ДЕЛАТЬ ТАБЛИЧКУ В НЕКОЙ БАЗЕ ДАННЫХ" - то это так и надо понимать.

Интересует же в КАКОЙ (!) базе она делается за минимальное время.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603276
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaТак не годится же ваш продход. ).
Я же писал желаемую последовательность шагов:
А) имеющиеся текст-файлы разбираем по словам
Б) слова запихиваем в НЕКУЮ БД
В) Эту базу потом ковыряем запросами, в том числе типа частотности. Задача- указать бьазу
данных максимально быстро позволяющую сделать табличку частотности.

То есть мы хотим работать со словами запиханными в базу.
"Хотеть" Вы можете любую чушь. А решается эта задача именно так:
1) разбираем файл по словам.
2) Каждое слово запихиваем в БД (хотя это и глупость - запихивать надо только уникальные
слова, если, конечно, у каждого слова в статье нет дополнительных атрибутов типа позиции в
файле)
3) Запихиваем в БД между делом посчитанные частоты
4) Базу ковыряем запросами хоть до посинения.

Именно ТАК это сделал бы любой программист. Ну а переводчики могут идти
лесом в американские форумы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603278
Andrey Sribnyak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemma"Т.е. сначала вы
по файлу строите эту табличку в памяти, "

- Так не годится же ваш продход. ).
Я же писал желаемую последовательность шагов:
А) имеющиеся текст-файлы разбираем по словам
Б) слова запихиваем в НЕКУЮ БД
В) Эту базу потом ковыряем запросами, в том числе типа частотности. Задача- указать бьазу данных максимально быстро позволяющую сделать табличку частотности.



Допустим Вы смогли реализовать шаг а.
Во время шага Б (слова запихиваем в НЕКУЮ БД) в таблице Б настраиваете триггер, который самостоятельно будет увеличивать счетчик частотности в таблице частотности. Тогда делать уже ничего не надо будет, просто вывести результат.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603279
.ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lemmaили вы просто слова новые любите?)
Да нет, это вы судя по всему новые слова любите (наверное профессионально-переводческое).

.. Можно упомянуть OLAP ...
... сейчас много информации о каких то экзотических для меня вещах типа in- memory database, или базы данных с хранением по столбцам ( Column-oriented DBMS). Все они говорят , что рвут конкурентов).
Плюс все пишут что у Google и пр поисковиков данные хранятся в проприетарном формате...
... Спасибо. не знал про key value. Оказывается, это сейчас модно ...
Ага, терадату с олапом наверните.
Для обработки аж двухсот мегабайт.
Дотнетовский Dictionary в руки, LINQ в зубы, умные слова в жопу.

Я не программист. Сам могу делать поверхностные вещи, скажем в vb.net. У меня есть более IT-продвинутые сотрудники, но они, увы, исполнители. Поставить цель, написать техзадание, тем более ОБОСНОВАТЬ использование архитектуры и пр- они не могут.
Увольте своих продвинутых IT-сотрудников. Наймите за полцены непродвинутого, однако способного поставить цель и написать техзадание. А сами пойдите к нему в подмастерья, раз уж "сам могу делать поверхностные вещи, скажем в vb.net".
Ну или не знаю даже... борщ варить.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603285
CodeGenerator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый топикстартер, задача, в принципе, ясна, но не хватает деталей. Вот для примера укажите сколько времени уходит на обработку в Вашем случае, и сколько бы хотелось чтобы уходило времени. И для этого примера прикрепите файлы с данными. Дело тут не столько в выборе СУБД сколько в правильном использовании(хотя не отрицаю, что разные СУБД имеют разную скорость обработки одинаковых запросов).
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603299
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

"1) разбираем файл по словам."
- да.это мы умеем. RegExp-ами

"2) Каждое слово запихиваем в БД "
- да.это мы умеем. пихали в mdb и в SQL Express. Сейчас вопрос тут вот задаем "а в КАКУЮ базу оптимальнее".

"(хотя это и глупость - запихивать надо только уникальные
слова, "
- Вы опять отвекаетесь от темы. Мы же не обсуждаем архитектуру Базы.
Мы тут обсуждаем в КАКОЙ именно базе максимально быстро делается некий простой запрос- на частотность.
Но если уж хотите обсуждать кухню, то в каждом файле слово стемиируется (приводится к единой форме), слову присваивается уникальный номер внутри файла, и в базу запихивается слово и номера где оно встретилось.
Для чего номера слова нужны? Чтоб сниппеты выковыривать из начального текста.
Нашли незнакомео слово типа "быдлокодер" и зная его номер в файле выковыриваем окружающий его текст
"... обычно в РФ быдлокодером зовут тех, кто понятия не имеет о бизнес-логике.."


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

3) Запихиваем в БД между делом посчитанные частоты
4) Базу ковыряем запросами хоть до посинения.
"между делом "- ага. Это ключевое слово для РФ. Тут такие как вы всё делают "между делом". Попробуйте понять, - мы хотим получить оптимизацию (быстродействие) в рамках стандартного подхода (работа с sql запросами в некой БД). А вы как обычно делают местные криворукие кулибины предлагаете изобретать велосипед)


Именно ТАК это сделал бы любой программист.
- так вы программист невысокого уровня, судя по темам ваших постов в этом форуме. вы пытаетесь говорить о том, что выше вашей планки.)

Ну а переводчики могут идти
лесом в американские форумы.
- и пойдем!)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603300
CodeGenerator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, делал не так давно систему по БД автозапчастей. Там в общей сложности значительно больше 500 000 000 записей. Самые сложные выборки данных отрабатывали за 0,1-0,5 секунды, учитывая что сервером был одноядерный Sempron 1.6 2Gb оперативки.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603313
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaтак вы программист невысокого уровня, судя по темам ваших постов в этом форуме.

И сколько же моих постов Вы прочитали чтобы сделать такой вывод?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603315
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CodeGenerator,

"Кстати, делал не так давно систему по БД автозапчастей. Там в общей сложности значительно больше 500 000 000 записей."

-звучит интригующе! еще бы понять откуда столько записей- у них там вебкамера на складе что ль снимок в базу каждую секундуц сбрасывют?!

"Самые сложные выборки данных отрабатывали за 0,1-0,5 секунды, учитывая что сервером был одноядерный Sempron 1.6 2Gb операти"
- смотрите. Я говорю об операциях суммирования. Берется слово и считается сколько раз встретилось. То есть, чтобы ТАКОЕ проделать - базе тупо приходится перебирать ВСЕ свои строки. Тут индексы и пр НИКАК не помогут.

В моем случае , все таки, полагаю, перебор с суммированием 500 млн записей за СЕКУНДУ - это пока не для десктопов)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603317
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

посмотрел ваш профиль. названий 10- этого вполне достаточно.
вы узкоспециализированный программист. такие тоже нужны.

но на стадии определения архитектуры вы мало полезны, полагаю. ничего личного.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603319
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaв каждом файле слово стемиируется (приводится к единой форме)
О! Сейчас придёт Di_Line и славно над вами поиздевается...

lemma"между делом "- ага. Это ключевое слово для РФ. Тут такие как вы всё делают "между делом".
Попробуйте понять, - мы хотим получить оптимизацию (быстродействие) в рамках стандартного
подхода (работа с sql запросами в некой БД).
"Мимоходом" это пять дополнительных строчек в той программе, которая заносит слова в БД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603321
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CodeGenerator,

поправлю свой ответ- "базе тупо приходится перебирать ВСЕ свои строки. Тут индексы и пр НИКАК не помогут."

точнее, тут я в кухню полез- может это и не так.
но цифры у вас все равно любопытные. 500 млн записей на таком железе- это необычная какая то ситуация
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603324
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

"и славно над вами поиздевается"
- если придет такой же дурачк как ты, то поиздеваться не поучится)

ты постоянно уходишь от ответа на простйо вопрос - у какой бд для конкретной выборки максимальная скорость к особенностям реализации)

ps кстати, заинтриговал.
как вообще могут над кем то издеваться люди, если в РФ вроде вообще нормальных специалистов нет? все у кого руки не кривые - уехали, не?)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603329
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

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

Люди либо гадят (бросают "пять сигареток" мимо урны) , либо нет.
Программа либо сделана качественно, либо коряво- таким как ты, кодером из села Верхние Залупки)

видал я тексты таких клованов). сплошной код без комментариев- верный признак того, что чел из РФ писал))
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603330
Andrey Sribnyak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemma,

Еще раз спрошу... зачем каждый раз пересчитывать ,сколько это слово уже раз встречалось????

Почему нельзя <<<каждый раз>>>, когда вы добавляете это слово просто увеличивать счетчик на единицу(в отдельной таблице, где эти слова в единственном экземпляре)? Кто вам мешает???

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

С учётом что
Di_LineДля бабесов поясняю на прЫ мере:
1. День. При поиске учесть только морфемы: дни - дней - днями и тд и тп
2. День. При поиске учесть только морфемы: денешь - девать - девают и тд и тп

lemmaты постоянно уходишь от ответа на простйо вопрос - у какой бд для конкретной выборки
максимальная скорость к особенностям реализации)

На этот простой вопрос я дал простой ответ ещё в первом посте. Хочешь конкретики: Oracle с
материализованным представлением сделает это мгновенно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603343
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey Sribnyak,

"Еще раз спрошу... зачем каждый раз пересчитывать ,сколько это слово уже раз встречалось????
Почему нельзя <<<каждый раз>>>, когда вы добавляете это слово просто увеличивать счетчик на единицу(в отдельной таблице, где эти слова в единственном экземпляре)? Кто вам мешает???"

---------------
Что хочу я:
- загнав слова в БД делать некие специфические запросы. Интересует исключительно скорость выполнения для разных баз. При том что В МОМЕНТ ЗАБИВАНИЯ ИНФО в базу никаких специальных дополнительных действий (построение таблиц чсастотности)- не производится. Грубо говоря- загнали лсова в базу. Сделали индекс. И пинаем базу запросами

ЧТо предлагаете вы:
- параллельно таблице "исходной сырой информации" делать "на лету некие дополнительные объекты.
А именно- через счетчик строить некий ДОПОЛНИТЕЛЬНЫЙ объект. Словарь его назовем или табличу вхождений.

Понятно, что если подобное раз пострноить (при загрузке данных в БД)- все летать будет.

По сути, вы предлагает заранее создать интересующий нас объект. И все будет быстро. Так мы это умеем. Но хотим НИЧЕГО не создавать заранее. А таблички генерировать тупо запросом.


Мы же не банк, где есть четкая рутина. Где можно прописать рабочие места, запросы и пр- и софт может работать долго без сильных изменений.


У нас задачи-то разные и характер запросов разный. Локализовать софт и перевести тома документов- совсем разные запросы понадобятся. Каждый раз что то специально выстраивать- неразумно.


Для нас оптимально- что тот кто анализирует тексты , создает запросы в наглядной и простой среде вроде ms access. А вопрос в том- какие хранилища этими запросами обрабатываются. ЧТоб была макс скорость.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603349
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

"Тогда скажи мне, милое дитя: к какой единой форме у вас там приведётся слово "день"?"


- ты, недокодер, опять путаешь вопрос скорости и детали реализации совсем иного блока.


Для НАШИХ целей НЕ ПРИНЦИПИАЛЬНО к какой форме стеммер приведет слово.

Ибо. У нас , условно говоря, есть два объекта:
А) паттерн (шаблон, маска ). Это набор неких слов
Б) Анализируемый текст.

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

так что в какую форму преобразует конкретное слово сьеммер- нам обычно не важно. Такова жизнь. Хотя иногда важно. Но зачем от обсуждения минимальной скорости выполнения запроса ты перевел разговор на стемминг?

Ты написал про value-key и оракл. спасибо. остальное можешь выбросить в печку.)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603358
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaНо зачем от обсуждения минимальной скорости выполнения запроса ты перевел разговор на
стемминг?

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

"Но вас же интересует запрос подсчёта частоты вхождения слова в текст. Было бы странно если
бы на текст "косил косой косой косой" запрос на слово "коса" выдал нуль..."

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

мы пытаемся что то выковыривать по кусочку. Те задачи которые было очевидно как решать- давно у переводчиков решены. А есть задачи, где все упирается тупо в ресурсы.

раз было предложение в- течение ДНЯ (!) распознать порядка 10 000 сканов документов (до кучи, все- с низким разрешением)- сделать анализ текстов и озвучить примерную цифру.

Да я не очень понимаю как "на пальцах" выполняется запрос о котором я говорил (есть колонка слов. нужно сделать табличку с какой частотой встречается слово).

Ведь можно рассуждать и так:
А) алгоритмы ускорения поиска -различные индексы -давно придуманы
Б) врдя ли у какой то БД есть свой, уникальный алгоритм
В) если объем файла невелик (скажем до 1 Гб) - всё загоняется в память и там тупо считается. У разных баз- примерно одинаково????

Г) если все ТАК обстоит, получается, скорость выполлнения запроса зависит исключительно от мощности процессора (и их числа, если задачу можно распаралеллить)?????

и никак не зависит от скорости доступа к диску иль иных деталей?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603381
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лемма, не смотря на 2 страницы топика я так и не понял до конца что вы хотите делать до конца.
Но впринципе отвечу так:
1) Вам нужно загонять в базу просто слова из текста, даже повторяющиеся.
Я так понял, что скорость загрузки некритична, т.е. подойдет люая современная субд. В любом случае все субд умеют загружать данные быстро через механизм bulk copy/load table итп из файла разделенного запятыми.
2)Потом вы как-то обрабатываете эти слова. Например делаете частотный анализ или еще чего-то и тут вам важна скорость.
В общем современные субд меряются не сколько как быстро они выполняют одиночный селект, а как хорошо они умеют работать в режиме высокой конкурентной нагрузки. Все они умеют индексы итп. и делают выборки более менее хорошо. Для быстроты выборок важно, что-бы использовался правильный индекс. В случае индекса по текстовым полям у вас все будет быстро работать, если выборка по полю слов будет фильтровать либо по полному совпадению field='слово1' либо по частичному совпадению: field like 'слово%'. Если же вы заходитет поискать так: field like '%путин%', то индекс использоваться не будет и вы попадете на полный перебор таблицы, то есть на тормоза. Т.е. если у вас запрос будут заватать индекс, то субд не важна, все будет работать быстро. Если нет - то везде будет работать медленно.
Далее, есть субд, которые умеют строить полнотекстовые индексы. Полнотектовая индексация поможет, но она расчитана на индексацию документов в полях. Полнотектовую индексациютоже умеют многие из коробки, например sybase sa,mssql, где-то она идет как опция. Но судя по постанвке она вам не нужна.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603386
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть еще мелкие тонкости,коотрые будут там давать плюс/минус, но это величина процентов величины а не порядков. В общем берите любую, загоняйте туда данные и оно будт работать быстро, если запросы будут попадать в индексы.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603398
CodeGenerator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам надо определиться с главным: надо ли Вам таблицу со всеми словами одновременно. Сомневаюсь, что из 10 млн слов вы выбираете зразу все (пусть из них уникальных 50 000). Обычно же выбираете, скорее всего, или одно слово (сколько есть вхождений по одному слову) или слова с каким-то критерием, но никак не 50-100 тисяч за раз (ну не сможете столько просмотреть вживую).
Исходя из вышеописаного выполнил похожий запрос на своей машине.
Количество записей (слов) 21 800 000 из них уникальных 5 700 000 слов.
Ищет слова и считает число вхождений и выводит 1000 таких слов (ну можно больше, но человек это не просмотрит) за 10-20 милисекунд.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603416
авторlemma


просмотрев 3 страницы так и не понял что же все-таки нужно сделать

оптимизация "чего-либо" не может быть сразу для "всего"
поэтому если нужно оптимизировать надо сначала определиться с видами запросов которые будут выполняться


вот еще соображения для не программиста

1 Надо ответить на вопрос какое время выполнения запроса приемлемо
без этого не понятно к чему стремиться

2 Какой объем текста для обработки?
Примечание
Если объем текста 200 Мб а диск читает со скоростью 20 МБ/сек (а новые могут читать до 100 МБ/сек)
то мы их прочтем в память за 10 сек быстрее никак

3 Прочитать 1Гб памяти занимает примерно 1 сек

4 Вывод
если мы заранее загрузим в память данные то за 1 сек мы найдем нужное слово во всех файлах

5 Отсканировав в памяти один раз исходные данные мы можем какую-то обработанную информацию сохранить
для того чтобы использовать ее в дальнеших запросах но для этого надо понимать что же будут
за запросы
но для такого маленького количества данных (200 Мб) и время обработки будет небольшим

6 хотите хранить файл где встретилось слово его позицию в файле пожалуйста в чем проблема
те
слово, файл, позиция - три колонки в таблице
хотите
слово, общее.количество.во.всех.файлах

7 Какую базу данных выбрать?
есть базы данных а также отдельные движки которые могут анализировать текст

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

Кстати Sql Server Full Text Search ведь тоже игнорит некоторые слова и возможно (точно не знаю) может находить слово с учетом словоформ но проблема в том что какие слова он игнорит надо как-то настраивать (те надо знать где и как) а как словоформы используются (если используются) вообще неизвестно и изменить это нельзя

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

8 вообщем нужно более ясно сформулировать задачу
и помнить что именно вид запросов на извлечение информации определяет оптимальную структуру хранения предобработанных данных
а не наоборот
вспомните OLAP там например информация о продажах за месяц суммируется и сохраняется поэтому легко и быстро можно получить информацию о продажах за год или за несколько месяцев но нельзя получить информацию за неделю ее там просто нет
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603433
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дорогой lemma,

Я представитель канадской компании и белый человек.
В ответ на ваш вопрос в топике, сообщаю: 2.
Вы напрасно теряете время на этом форуме.
Успехов в бизнесе.

Искренне ваш SERG1257
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603462
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ответ товарищу с ником "ничего не понял"-
"просмотрев 3 страницы так и не понял что же все-таки нужно сделать"
- так такой ответ говорит о том, что вам не знакомо сово "методология" . если вы не поняли - это ваши проблемы. Я ведь денег не плачу. Значит "не поняли"- молчите.


оптимизация "чего-либо" не может быть сразу для "всего"
поэтому если нужно оптимизировать надо сначала определиться с видами запросов которые будут выполняться
- вы мои ответы в треде точно ли читали, товарисч?




вот еще соображения для не программиста

1 Надо ответить на вопрос какое время выполнения запроса приемлемо
без этого не понятно к чему стремиться
- я, как кондовый непрограммист, не понимаю- почему вы перевели мой вопрос в эту плоскость. Ибо это "2-ой уровень". А я спрашиваю о "1-ом, базовом , уровне"- на какой БД (н акакой технолгии. архитектуре. неу переиначтьте мой вопрос) следует остановиться чтобы получить МИНИМАЛОЬНОЕ время.



2 Какой объем текста для обработки?
Примечание
Если объем текста 200 Мб а диск читает со скоростью 20 МБ/сек (а новые могут читать до 100 МБ/сек)
то мы их прочтем в память за 10 сек быстрее никак
- нет проблем с временем закачивания в память- я вроде писал об эт ом, что по моим преставлениям объемы, скажем.... менее 4 Гб вполне можно обрабатывать в памяти не напрягаясь с диском.



3 Прочитать 1Гб памяти занимает примерно 1 сек
еще раз. я не прошу оценить время считывания-я сам исходил из 50 мб/сек, ну и что. я ранее говорил- интерсующий меня бъем (менее 4 гб) вполне влезает в паямять. Я даже ранее справшивал "что с учетом этого базы In memory Не имеют преимуществ?"
ну скачали мы все в память...дальше что? я и с прашиваю- надо сделать запрос. есть БД SQLITE, FIREBIRD.. и пр. КТО быстрее сделает то, вот вопрос.




4 Вывод
если мы заранее загрузим в память данные то за 1 сек мы найдем нужное слово во всех файлах
- это и шимпанзе понятно. выЮ, товарисч читать умеете? речь шла о том, в какой базе выполнеие запроса будети минимальным. а вы, судя по всему путаете вещи-А и Б-

А) считать много байтофф с диска в память
Б) со считанными в память данными выполнить запрос

У вас что- "всё что считано в память , делается мгновенно"?)
А у меня -нет. Поэтому и спрашиваю о МИН. врмени исполнения.




"5 Отсканировав в памяти "
- у вас товарисчя, горяка што ль? как это "отсканировав в память"?!


один раз исходные данные мы можем какую-то обработанную информацию сохранить
для того чтобы использовать ее в дальнеших запросах но для этого надо понимать что же будут
за запросы
но для такого маленького количества данных (200 Мб) и время обработки будет небольшим
- а я где то говорил об Абсолютной величине? я говорил О МИНИМИЗАЦИИ. вы хоть это слово понимаете ли?)



6 хотите хранить файл где встретилось слово его позицию в файле пожалуйста в чем проблема
те
слово, файл, позиция - три колонки в таблице
хотите
слово, общее.количество.во.всех.файлах
- колледж села Верхние Залупки? я угадал?)


7 Какую базу данных выбрать?
есть базы данных а также отдельные движки которые могут анализировать текст

- вот дурак то. "могут анализировать текст")))) ЛОЛ


но вопрос сводится к следующему
Нужен ли разбор слова с учетом словоформ (числа, лица, времени, падежа и тд)
- с м. выше . мои ответы про стемминг). такому же как ты)

Если нужен, то без спец движка не обойтись тк здесь нужен специальный словарь
- дык есть он). А вы, уважаемый , не лезьте куда не просят). Мы о скорости выборки БД говорим а не о словоформах)

Если можно словоформы кодировать вручную тогда любая база данных подойдет
- ЛОЛ. см. выше в треде. ответ такому ж кулибину как ты.



вспомните OLAP там например информация о продажах за месяц суммируется и сохраняется поэтому легко и быстро можно получить информацию о продажах за год или за несколько месяцев но нельзя получить информацию за неделю ее там просто нет

- блин. OLAP это ЦИФРОВЫЕ данные, олух ты царя небесного! И сумма вычислется из подсумм! а для текстовых данных это не так!)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603467
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

"Дорогой lemma,

Я представитель канадской компании "

- идиот ты). я, например, физтех закончил). Хоть и никогда не программировал.МФТИ тебе что то говорит?)

А в канаде и сантехники коноплю проституткам продают.
Ты чо представляешь то тут, ментальный недоносок?)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603472
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ggg_old,

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


- Вы говорите вроде разумные вещи. Я , как дилетант, написал это немного иначе, но вроде как получается примерно то же самое что и вы:
(тута- http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=907965&msg=11862621)




"Ведь можно рассуждать и так:
А) алгоритмы ускорения поиска -различные индексы -давно придуманы
Б) врдя ли у какой то БД есть свой, уникальный алгоритм
В) если объем файла невелик (скажем до 1 Гб) - всё загоняется в память и там тупо считается. У разных баз- примерно одинаково????

Г) если все ТАК обстоит, получается, скорость выполлнения запроса зависит исключительно от мощности процессора (и их числа, если задачу можно распаралеллить)?????

и никак не зависит от скорости доступа к диску иль иных деталей? "
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603476
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaя и с прашиваю- надо сделать запрос. есть БД SQLITE, FIREBIRD.. и пр. КТО быстрее сделает
то, вот вопрос.

FVMAS. Ну или Cache.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603479
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CodeGenerator,

Вам надо определиться с главным: надо ли Вам таблицу со всеми словами одновременно.
- ДА. Это именно так.
Если подробнее- с учетом того, что мы с этим делаем- этого никак не обойти. Грубо говоря , мы строим обратный индекс (в какикх файлах встречается слов, в каком месте), но сохраняем и прямой индекс (зная номер стеммированного слова, мы можем процитировать исходный текст).


Сомневаюсь, что из 10 млн слов вы выбираете зразу все (пусть из них уникальных 50 000).
- что значит "выбираете"?)
мы делаем
А) запросы на то, сколько раз встречается слов
Б) мы делаем запросы на то, сколько раз встречаются разные комбинации двух слов и так далее.


Обычно же выбираете, скорее всего, или одно слово (сколько есть вхождений по одному слову) или слова с каким-то критерием, но никак не 50-100 тисяч за раз (ну не сможете столько просмотреть вживую).
- не совсем вас понял. "смотреть одно слово" это типа запрос select- выбрать "в какое время ВАСЯ уходил с работы". Нас такие частности не интересуют совсем.

Мы же не отдел кадров и не банк и не СБ. И мы не смотрим срез по человеку. мы сомтрим запрос по группе слов.

Нас интересуют выборки именно по ВСЕМ словам.
Ну сами посудите. Я делаю запрос и слово "быдлокодер" встречается мне в новом тексте на перевод 7 раз. И закем мне это???

А вот если, например, ВСЕ СОЧЕТАНИЯ ТРЕХ СЛОВ ("шинглы", shingles - такой подход используется в технологиях определения того, наколькотекст уникален а не получен копипастами) что я раньше переводил покрывают НОВЫЙ ТЕКСТ на перевод, скажем на 95% -это значит что перевод я могу сделать почтиавтоматически.



Исходя из вышеописаного выполнил похожий запрос на своей машине.

"Количество записей (слов) 21 800 000 из них уникальных 5 700 000 слов."
- см. выше. уже какой то чудак говорил, что в языках типа русского НЕ БЫВАЕТ так много слофф)
вы, товарисч, с луны упали?
да если рассматривать слова отличающиеся спряжениями-склонениями как разные (а мы их и не считаем разными- см вы ше про стеммер)- то в русском максимум итысяч 100 уникальных набероется

так что ВРЕТЕ вы (или заблуждаетесь ) с тем что у вас 5 700 000 уникальных слофф)

вы это деффкам из села Верхние Залупки рассказ0ывайте)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603481
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

"FVMAS"



?
это что за говно?
яндекс про запросу выдает "FVMas - предлагаю оценить - Форум Delphi "

- так за пределами РФ о Дельфи никто и не знает. Это здесь такое говно только и актуально. так что неинтересно. или вы шутите так- в ситу одноклеточности0
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603502
lemma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ggg_old,

лемма, не смотря на 2 страницы топика я так и не понял до конца что вы хотите делать до конца.

Но впринципе отвечу так:
"1) Вам нужно загонять в базу просто слова из текста, даже повторяющиеся."

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


"Я так понял, что скорость загрузки некритична, т.е. подойдет люая современная субд."
- прожалуй. "да". скорость загрузки в базу, формирования индексов некритична. а вот скорость выборки- критична.Кстати, база может быть read only- Мы ее анализируем, но не меняем же никак!



" В любом случае все субд умеют загружать данные быстро через механизм bulk copy/load table итп из файла разделенного запятыми."
- скорость загрузки некритична- см выше. Мы же не считываем телеметрию с датчиков- зачем нам скорость загрузки в базу?!



2)Потом вы как-то обрабатываете эти слова. Например делаете частотный анализ или еще чего-то и тут вам важна скорость.
- ИМЕЕНО ТАК!!!


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

- не совсем так. вы говорите о МАССОВЫХ, типичных требованиях к базам. Вроде сбербанка или магазина автозапчастей). так там логика то проста как репа)

А я - об уникальных и нестандартных задачах.
Но для которых я НЕ ХОЧУ писать уникальный софт.
А хочу загнать сырцы в файлы БД и пинать их стандартными sql запросами- но уж зато с максимальной скоростью!

(Спасибо. Похоже- вы единственный из участников обсуждения кто понимает ЧТо мне нужно)




"Все они умеют индексы итп. и делают выборки более менее хорошо. Для быстроты выборок важно, что-бы использовался правильный индекс. "
- ага! я ж неспециалист. я начитался про In memory, и пр- в растерянности же. кто делает самый правильный индекс)

В случае индекса по текстовым полям у вас все будет быстро работать, если выборка по полю слов будет фильтровать либо по полному совпадению field='слово1' либо по частичному совпадению: field like 'слово%'.
-....хм. ключевое тут у вас "все будет быстро работать". быстро это СКОЛЬКО?
встает вопрос о масштабируемости. быстро работать" - это пока все помещается в память? или как? а данных замеров по разным базам нет ли? быстро на 10 млн записей и 1000 млн зщаписей- как "быстрота" зависит от числа записей? линейно? экспоненциально???



Если же вы заходитет поискать так: field like '%путин%', то индекс использоваться не будет и вы попадете на полный перебор таблицы, то есть на тормоза.
Т.е. если у вас запрос будут заватать индекс, то субд не важна, все будет работать быстро. Если нет - то везде будет работать медленно.
- сложно для меня знак процента % означает "что любые символы"???? - тогда мы таие конструкции не используем. у нас такого нету, это для нас неприемлемо долго


Далее, есть субд, которые умеют строить полнотекстовые индексы.
- так они работают на уровне ДОКУМЕНТОВ. тое сть решают простейшие задачи типа "покажи документ содержащий слов ВАСЯ"
А мы работаем на более тонком уровне, на уровне слов. Типа "Покажи документы одержащите слово ВАСЯ более 30 раз" - такие вопросы full text search обрабатывать не умеют- это нормальныим людям не надо, а вот переводчикам как раз надо




Полнотектовая индексация поможет, но она расчитана на индексацию документов в полях. Полнотектовую индексациютоже умеют многие из коробки, например sybase sa,mssql, где-то она идет как опция. Но судя по постанвке она вам не нужна.
- имеено так. Мы пользовались порой dtsearch. Красивая штука. Бустро формирует индексы на документах объемом 1 Тб... Но для наших целей она грубовата- она работает таки с выводом ФАЙЛОВ а мы - выводом СЛОВ.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603518
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemma: на самом деле скорость дисковой подсистемы обычно критичная для большинства применений субд. Но у вас нестандартное применение, так что возможны варианты. Если ваша база влезет в кэш память, то это будет просто отлично. Но надо понимать, что после сразу запуска кэш будет холодыным и лишь по мере использования данные с диска будут подчитываться в оперативвную память. Но это все мелкие детали.
Важно, чо-бы ваши запросы попадали в индексы, иначе - пролет и тормоза. И еще, если бы не было никакой разницы, то был бы на рынке только один продукт, но это не так. Тут как с автомобилями, двигатель внутреннего сгорания есть у всех, но вот разница в реализации деталей и дизайне кузова :)
Важными факторами для подбора сервера является наличие вменяемоего стоимостного оптимизатора, автоматическая поддержка статистики распределения данных, простота администрирования,
Те запросы, что вы озвучили не есть сложные и по сути сводятся к задаче: поиск по ключу. Тут засад быть не должно.

итак, на вашем примере структура:

create table words
(
file_name varchar(64)l, --имя файла
word varchar(48),
pos int --позиция/номер слова попорядку в файле
)

Индексы:
1) составной: по полям file_name, word
2) по одному полю: word

Первый нужен, исходя из озвученных вами условий, что выборка нужна иногда не по всей базе а по группе файлов. Как формируются эти группы оставим за скобками, допустим, что их имена передаются как список параметров.
второй нужен для озвученных вами запросов, найти в каких файлах встречаются слова или группа слов.
Быстрый поиск возможен, только если слова как вы говорите нормализованы к неким словоформам, т.е. вариации с оконаниями/падежами для выборки уже не влияют.

Очень сильно напрашивается предрасчитанная таблица уникальных слов в файле, которая заполняется сразу после закачки файла в базу.
create table unique_words
(
file_name varchar(64)l, --имя файла
word varchar(48),
quantity int --сколько раз встретилось слово ф айле
)
Индексы - аналогичные первой таблице
Теперь поиск файлов, где встречаются определенные слова

select file_name, word, pos
from words
where
file_name in (список имен файлов)
and word in (список слов)

все оч. просто.
Но помните, строковые значения должны либо сравниваться на полное соответствие либо на совпадение начальных фрагментов, поиск по уорню слова или окончанияю не катит.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603519
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemma, у вас сейчас используется РСУБД или нет?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603525
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemma, про индексы
основной алгоритм на сегодняшний день b-tree (его вариации). В общем время поиска растет логарифмически в зависимости от объема данных. Вы как выпускник технического вуза должны еще помнить график. Т.е. график выходит на некое почти насыщение и время поиска растет очень медленно. Это и есть основа основ.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603545
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забанил я его
ну нельзя в таком тоне общаться
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603548
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lemmaВедь можно рассуждать и так:
А) алгоритмы ускорения поиска -различные индексы -давно придуманы
Б) врдя ли у какой то БД есть свой, уникальный алгоритм
В) если объем файла невелик (скажем до 1 Гб) - всё загоняется в память и там тупо считается. У разных баз- примерно одинаково????

Г) если все ТАК обстоит, получается, скорость выполнения запроса зависит исключительно от мощности процессора (и их числа, если задачу можно распаралеллить)?????

и никак не зависит от скорости доступа к диску иль иных деталей?

А) одни алгоритмы придуманы не так уж и давно, другие реализованы в той или иной СУБД не так уж и давно, а в некоторых СУБД и не реализованы.
Б) во-первых, алгоритмы обработки данных применяются к хранимым данным, а они в разных СУБД хранятся немного по разному (даже в памяти), и доступ к данным в памяти тоже организован по разному,
во-вторых, один и тот же алгоритм оптимизируется в конкретной СУБД с целью повысить производительность для того или иного вида запросов.

В) "тупо считается" - с учётом пункта А и Б не так уж и "тупо" :).

Г) даже одного и того же запроса на "одинаковых" структурах БД на одном и том же железе с учётом А, Б, В получается что не одинаково. А ещё есть конфигурирование СУБД... А некоторые СУБД с некоторыми запросами и не справятся в принципе :).

Чтобы ответить на ваш прямой вопрос, нужно:
- получить структуры таблиц,
- тестовые данные,
- текст запроса, который Вас волнует (он что, всего один, кстати? 8)
и протестировать это на одинаковом железе.
Вы очень удивитесь, когда узнаете, что в зависимости от тестовых данных на одном и том же запросе по скорости обработки на первое место будут вырываться разные СУБД?
Или что аутсайдер гонок при дополнительном конфигурировании начнёт пробиваться на первые места?

Промышленные СУБД не разрабатываются под оптимальное выполнение одного вашего или чьего-либо запроса. А значит чтобы ответить на Ваш вопрос нужно провести испытания и проверить :).

Кстати, похожие аргументы можно привести и по поводу in-memory dbms: они проектируются с учётом отсутствия дисковой подсистемы (дополнительного архитектурного слоя) и поэтому могут реализовывать более эффективные алгоритмы выполнения запросов. Это по поводу пункта Б... Нет пределов совершенству. Вот, например, поучительный топик на эту тему
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603557
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще

сейчас заметил в своей почте несколько жалоб на топикстартера, ну и намек на упрек в мой адрес

господа, поймите меня: ну нет у меня сейчас времени постоянно следить, работы мягко говоря очень много, я и сейчас в отличии от многих на работе сижу

так что либо терпите, либо выбирайте другого модератора, я не против если что
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603578
авторlemma

если мы делаем одинаковый запрос на разных бд то как может отличаться время алгоритмы то одни и те же
поэтому если будем выполнять просто sql запросы выбирайте любую бд которая больше нравиться

на у если на 1% хотите получить отличие то делайте так как сказано выше

а вот стоит ли sql хранилище использовать для данных это еще вопрос
может для ваших запросов это неэффективно
я не думаю что словарь лингво хранит слова в sql хранилище
наверняка там подумали и сделали хранилище
максимально оптимизированное для нахождения перевода с учетом словоформ и тд


насчет времени исполнения
по-моему если нас устраивает время выполнения 1 сек то не стоит думать как сделать то же самое за 1/10 сек
те время абсолютно
более оптимизация абсолютна тк в общем случае время выполнения зависит от всего
и только при определенных входных данных частью параметров от которых зависит время можно пренебречь
тк для выбранных входных данных эти параметры не увеличивают существеннно время


из ваших слов я понял что вы собираетесь писать sql десятками
ну так приведите пример хотя бы один полностью рабочий
тогда может станет ясно что за запросы собираетесь запускать


сканировать память - я подразумевал последовательно прочитать каждый байт ровно один раз
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603595
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot kdv]lemma Миллиона слов, если я не ошибаюсь, нет ни в одном языке..

в английском миллион.

В русском 350 тыщ
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603663
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsikв английском миллион.
возможно.
Якобы, в произведениях Шекспира используется около 20000 слов, у Пушкина - ~21000 слов. Причем, у Пушкина якобы половина слов используется по одному разу.

Цитата:
По подсчетам американских лингвистов, количество слов, используемых ныне в современном английском языке, составляет почти 986 тысяч. Как пишет канадская газета "Глоуб энд мэйл", к концу этого года количество используемых слов в этом языке может достичь отметки миллион.

Древний или классический английский язык насчитывал около 60 тыс. слов. В частности, в произведениях Вильяма Шекспира встречается 25 тыс. слов. Две тысячи из них были привнесены в современный ему язык самим поэтом.


Большая часть этих слов - внедренные из других языков (французского, и т.д.). Понятно что миллионом слов никто не пользуется. В юридическом языке (о котором пишет автор топика) набор слов явно не миллион.

Характеристики топикстартера обсуждать не буду, хотя они показательны. На русскоязычном форуме писать на русском языке что русскоязычные форумы фигня - это апофеоз (эмигранта?).
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603693
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lepsik,

Миллиона слов, если я не ошибаюсь, нет ни в одном языке..
в английском миллион.
В русском 350 тыщ


- А что есть "слово"?
Например "благолепие" - это слово? - а часто вы им пользуетесь ли?
для нас "слово" это последовательность определенных символов. например, для нас CP1251 (не юникодовская кирилическая кодировка)- вподне себе "слово".

так вот даже с такими "словами" , если их приводить к одной форме (стеммировать) - в русском врдя ли более 100 000 слов наберется. Но даже если и 300 000. что сие меняет?)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603694
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuper,

"забанил я его
ну нельзя в таком тоне общаться "

-------------------------------------------------------------------------

- Александр попросил меня продолжить его забаненное дело.

Что у него не так было то?
Он лишь как-непроессионал- спросил в "КАКОЙ БАЗЕ ТАКОЙ-ТО ЗАПРОС ДЕЛАТЬ БЫСТРЕЕ ВСЕГО".
И за такое банить?!



Его не интерсовали мнения местных касательно стемминга и пр. Вопрос был прост. И аккурат в тему - "выбор БД".

Так что бан непонятен.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603695
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой,

"lemma, у вас сейчас используется РСУБД или нет? "




---вообще то из тиого что ранее в посте написано -это очевидно).
да. используем "системы управления базами данных".
Как локальные версиии типа Mdb
Так и "серверные" типа урезанных ms sql.

мы и далее хотим продолжать использовать некую реализацию БД.
И интресуемся тем, как получсить максимальную скорость на определенных запросах.

Нам кажется такая помтановка вопроса корректной. И интересной многим. А вот то что вы ерзаеет и не отвечаете по существу-нам непонятно)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603700
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirАнатоЛой,

"lemma, у вас сейчас используется РСУБД или нет? "




---вообще то из тиого что ранее в посте написано -это очевидно).
да. используем "системы управления базами данных".
Как локальные версиии типа Mdb
Так и "серверные" типа урезанных ms sql.

мы и далее хотим продолжать использовать некую реализацию БД.
И интресуемся тем, как получсить максимальную скорость на определенных запросах.

Нам кажется такая помтановка вопроса корректной. И интересной многим. А вот то что вы ерзаеет и не отвечаете по существу-нам непонятно)
Для того чтобы получить максимальную скорость на определенных запросах в общем случае нужно провести некоторые действия.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603703
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я как бы намекаю, что "некоторые запросы" - это слишком расплывчатое понятие
Хотя и для этого случая можно выдать список рекомендаций, как-то:
1. Пригласить разработчика БД/DBA среднего уровня
2. Почитать про индексы, материализованные представления (иже они имеются в целевой БД)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603705
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. прислушаться к тем советам, которые уже прозвучали (в частности, хранение предпросчитанных данных)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603708
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
афтору с ником "ничего не понял"

"если мы делаем одинаковый запрос на разных бд то как может отличаться время алгоритмы то одни и те же
поэтому если будем выполнять просто sql запросы выбирайте любую бд которая больше нравиться"
- так это ВАМ очевидно что "алгоритмы одни".
а мне,как дилетанту , неочевидно -потому и задал вопрос.
ибо вон сколько информации про базы хранящие данные постоблово а не построчно... и про базы in memory)... и типа они быстрее локальных sqlite-firebird-etc.




на у если на 1% хотите получить отличие то делайте так как сказано выше
- ваша оценка различия производительности "АДЫН працент" высосана из пальца, а следовательно- неинтересна)



а вот стоит ли sql хранилище использовать для данных это еще вопрос
- конечно. я им спрашиваю о том! вот есть хранилище в mdb файлах. И всё однопользовательское. И перейдем на сиквел. И что-скорость выполнения зароса таки увеличится? и что, сильно?)


может для ваших запросов это неэффективно
я не думаю что словарь лингво хранит слова в sql хранилище
- у них иная задача. у них "запрос" это просто выборка. тут индекс поможет. а у нас- запрос это суммирование и пр. )
нам неинтересен примитиф лингвы)

наверняка там подумали и сделали хранилище
- а темы ЭТОГО поста как касается какая то лингва?) мы ж не тцпые словари обсуждаем) а производительность разных архитектрур БД на запросах не имеющих НИКАКОГО отношения к Лингве)


максимально оптимизированное для нахождения перевода с учетом словоформ и тд
- это к чему вапще?


насчет времени исполнения
по-моему если нас устраивает время выполнения 1 сек то не стоит думать как сделать то же самое за 1/10 сек
- нас ничего такое не устраивает). ибо 1 сек для запросов к 1 млн слов жэто одно. а к 100 млн слов- вроде как иное)




те время абсолютно
???? ета вы о чем? эйншейн вроде говорил об относительномсти))))



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


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


тк для выбранных входных данных эти параметры не увеличивают существеннно время
- какие "эти"?)



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

ну так приведите пример хотя бы один полностью рабочий
- сделать табличку. в одном столбце слово. во втором слтоблбце его частота. ВАМ даже ТАКОЙ примитифф слишком сложен?!)

тогда может станет ясно что за запросы собираетесь запускать
- е уверен что ВАМ что то станет ясно)

сканировать память - я подразумевал последовательно прочитать каждый байт ровно один раз
-надо ж.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603710
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirТак и "серверные" типа урезанных ms sql.
мы и далее хотим продолжать использовать некую реализацию БД.
И интресуемся тем, как получсить максимальную скорость на определенных запросах.

Нам кажется такая помтановка вопроса корректной.
И интересной многим.
А вот то что вы ерзаеет и не отвечаете по существу-нам непонятно)



На карвинговых лыжах какого производителя чемпион мира спустится быстрее всего с 200-метровой снежной горки?

Вроде и вопрос корректный, но корректный ответ на него никто не даст. Слишком много параметров осталось неизвестными.
Вот мы и ёрзаем... Вам таки быстро? Почему карвинговые? А чемпион какого года? А снег настоящий или искуственный? А обобщить и ткнуть пальцем в Оракл с псевдоаргументами могут только сейлзы и маркетологи, но вы же на техническом форуме :).
И вопрос какой-то теоретический. Вам же лыжи не на раз спуститься нужны? выберите одну модель, а завтра у другого производителя более быстрая выйдет. Переезжать будете? Вот и опять таки народ пытается требования прояснить или ослабить: а может на санках? А спускаться только с этой горки прийдётся? А точно нужно самый быстрый, может достаточно просто за 16 секунд доехать?

А может и ваши текущие лыжи подойдут, просто смазать нужно? :)...
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603715
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirSergSuper,

"забанил я его
ну нельзя в таком тоне общаться "

-------------------------------------------------------------------------

- Александр попросил меня продолжить его забаненное дело.

Что у него не так было то?
Он лишь как-непроессионал- спросил в "КАКОЙ БАЗЕ ТАКОЙ-ТО ЗАПРОС ДЕЛАТЬ БЫСТРЕЕ ВСЕГО".
И за такое банить?!



Его не интерсовали мнения местных касательно стемминга и пр. Вопрос был прост. И аккурат в тему - "выбор БД".

Так что бан непонятен.если Вам родители в детстве что-то не объяснили, мне сейчас это делать бесполезно

думайте прежде чем писать
мне Ваши проблемы неинтересны, не знаю зачем другие на них ведутся, но читать оскорбления неприятно, не важно в чей адрес
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603717
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky,

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


РЕБЯТ. ВЫ ЧО , ИЗДЕВАЕТЕСЬ ШТО ЛЬ над нами, ?!)))))

мы ж вам пишем. мы готовы провести любые более-менее СТАНДАРТНЫЕ действия типа создания индексов при закачивании инфо в БД.

мы готовы перейти на более навороченные raid-ы, мы готовы докупить оперативки и пр. дейтсвия по железу - в разумных пределах.
мы даже готовы скачать нужные торренты)



но мы не ГОТОВЫ писать кусочки кода под каждую задачу. Александр же это озвучил:

А) мы не достаточно богаты чтобы делать оптимизацию ЗАПРОСА за счет приглашения специалистов по ассемблеру или закупки необоснованно дорогого железа

Б) мы тупы. мы любим примитивные графические среды разработки sql запросов типа access. мы не хотим нового ( о чем нам ту3т писали- язык Луна, Lua кажетчя)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603721
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky,

я как бы намекаю, что "некоторые запросы" - это слишком расплывчатое понятие
Хотя и для этого случая можно выдать список рекомендаций, как-то:
1. Пригласить разработчика БД/DBA среднего уровня
2. Почитать про индексы, материализованные представления (иже они имеются в целевой БД)


--- ОК. Я задал некий вопрос в посмте. А имеено- какие БД дают максимальную производителнсоть - причем реч=ь шла о ПРЕДЕЛЬНО ПРОСТОМ ЗАПРОСЕ)
- вы мне в ответ "пригласить кого то". - Так в РФ и пришлашать то особо некого(
специалисты живут в иных местах.

и как ваше предложение "пригласить" сочетается с моим вопросом о мксимальнйо производительности?)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603722
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky,
"прислушаться к тем советам, которые уже прозвучали (в частности, хранение предпросчитанных данных) "

ваш совет о "предпосчитанных данных"- это не совет.
это говно.
это игнорирование НАШИХ задач.


нам ЭТО неинтересно. см. текст поста)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603723
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuper,

оскорбления?!)))

вы почситайте первй ответ местного недоумка на мой вопрос. если это ВЫ не считает оскорблением то у вас точно ли с встроенной библиотекой классов всё в порядке?)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603726
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirlocky,

"Для того чтобы получить максимальную скорость на определенных запросах в общем случае нужно провести некоторые действия. "
РЕБЯТ. ВЫ ЧО , ИЗДЕВАЕТЕСЬ ШТО ЛЬ над нами, ?!)))))
мы ж вам пишем. мы готовы провести любые более-менее СТАНДАРТНЫЕ действия типа создания индексов при закачивании инфо в БД.
мы готовы перейти на более навороченные raid-ы, мы готовы докупить оперативки и пр. дейтсвия по железу - в разумных пределах.
мы даже готовы скачать нужные торренты)
но мы не ГОТОВЫ писать кусочки кода под каждую задачу. Александр же это озвучил:
А) мы не достаточно богаты чтобы делать оптимизацию ЗАПРОСА за счет приглашения специалистов по ассемблеру или закупки необоснованно дорогого железа
Б) мы тупы. мы любим примитивные графические среды разработки sql запросов типа access. мы не хотим нового ( о чем нам ту3т писали- язык Луна, Lua кажетчя)
1. Все действия по созданию индексов - стандартные.
2. Читайте внимательно. о спеце по асму речи не было.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603727
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirlocky,

я как бы намекаю, что "некоторые запросы" - это слишком расплывчатое понятие
Хотя и для этого случая можно выдать список рекомендаций, как-то:
1. Пригласить разработчика БД/DBA среднего уровня
2. Почитать про индексы, материализованные представления (иже они имеются в целевой БД)


--- ОК. Я задал некий вопрос в посмте. А имеено- какие БД дают максимальную производителнсоть - причем реч=ь шла о ПРЕДЕЛЬНО ПРОСТОМ ЗАПРОСЕ)
- вы мне в ответ "пригласить кого то". - Так в РФ и пришлашать то особо некого(
специалисты живут в иных местах.

и как ваше предложение "пригласить" сочетается с моим вопросом о мксимальнйо производительности?)
1. максимальной производительности не существует. Всегда найдется что-то более производительное.
2. Практически любая из существующих БД предоставит вам нужные вам данные в устраивающее вас время.
2. Спецов в РФ - более чем достаточно.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603729
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirlocky,
"прислушаться к тем советам, которые уже прозвучали (в частности, хранение предпросчитанных данных) "

ваш совет о "предпосчитанных данных"- это не совет.
это говно.
это игнорирование НАШИХ задач.


нам ЭТО неинтересно. см. текст поста)
Одной из ваших задач является сбор частотной статистики слов по файлам.
Учитывая тот факт, что прозвучало заявление "БД находится в режиме только для чтения" не вижу особых проблем в использовании предпросчитанных данных.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603730
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой,

На карвинговых лыжах какого производителя чемпион мира спустится быстрее всего с 200-метровой снежной горки?
- меня не интересует задачи оптимизации в шщоу бизнесе, к которым относится спорт.
моя постановка задчи была вполне корректна и конкретна.
не уподобляйтесь демагогамм)



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


Вот мы и ёрзаем... Вам таки быстро? Почему карвинговые? А чемпион какого года? А снег настоящий или искуственный?
- хватит юродствоать. вы и так в постсовке. есть что сказть-вперед. нет-лучше помолчать0

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



И вопрос какой-то теоретический.
- практический вопрос. у меня компьютер диском шуршит долго. а мой доход зависит от времени шуршания.



Вам же лыжи не на раз спуститься нужны? выберите одну модель, а завтра у другого производителя более быстрая выйдет.
- так я и спрашиваю-АУ, недокодеры! в какой (!!!) модели запрос выполняется макс. быстро)


Переезжать будете? Вот и опять таки народ пытается требования прояснить или ослабить: а может на санках? А спускаться только с этой горки прийдётся? А точно нужно самый быстрый, может достаточно просто за 16 секунд доехать?
- что значить "а точно"? вы так ставите вопрос и в вне интернета???? да. я поставил задачу. и мне надо ИМЕННО ЭТО. "а точно"?- да, точно.



А может и ваши текущие лыжи подойдут, просто смазать нужно? :)...
- вы товарисч мавзолей пойдлите с таким подходом покрасьте. вам подойдет.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603732
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspir,

существует простой способ, которым вы можете воспользоваться.
Вы выкладываете свою нетленку на ФТП
Какой-нибудь альтруист скачивает её, смотрит, даёт рекомендации.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603733
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky,

"1. Все действия по созданию индексов - стандартные.
2. Читайте внимательно. о спеце по асму речи не было. "

- и вы читайте внимательно пост.Речь шла о достижении МАКСИМАЛЬНЙО скорости выполнения запроса.
"стандартные" действия- это в школу к идиотам.

об асемблере речи не было. но говорилось о том что нужно сделать НЕЧТо вне БД. Это фигня и подход кривого кулибина. говноассемблер иными словами, уважаемый)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603734
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirlocky,

"1. Все действия по созданию индексов - стандартные.
2. Читайте внимательно. о спеце по асму речи не было. "

- и вы читайте внимательно пост.Речь шла о достижении МАКСИМАЛЬНЙО скорости выполнения запроса.
"стандартные" действия- это в школу к идиотам.

об асемблере речи не было. но говорилось о том что нужно сделать НЕЧТо вне БД. Это фигня и подход кривого кулибина. говноассемблер иными словами, уважаемый)
Уважаемый
при всём моем уважении специалистами по БД тут являемся мы, а не, прошу прощения, вы
и если уж мы считаем, что некоторые задачи является разумным выполнять ВНЕ бд, то, видимо, так оно и есть.
В противном случае возникает вопрос - если вы всё знаете лучше нас - то к чему тогда спрашиваете?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603737
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky,

1. максимальной производительности не существует. Всегда найдется что-то более производительное.
- ох. уж 20 лет совка нет. а дух его везде свеж)
вы ТАКОЕ деффкам из сваво села объясняйте. А для меня всегда есть разумные ограничения. И у процессоров есть ограничения. И у сфот-архитектуры.


2. Практически любая из существующих
БД предоставит вам нужные вам данные в устраивающее вас время.
- товарисч, вы-идиот?) я ж в посте справшивал "какая БД сие даст ЗА МИНИМАЛЬНОЕ ВРЕМЯ"
про "устраивающее вас время" вы бухгалтеру Машеньке рассказывайте. а я првшивал вроде о МИНИМИЗАЦИИ времени)


2. Спецов в РФ - более чем достаточно.
- если все такие ж му**ки как вы, то явно этот тезис неверный)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603740
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky,

"tipa_shekspir,

существует простой способ, которым вы можете воспользоваться.
Вы выкладываете свою нетленку на ФТП
Какой-нибудь альтруист скачивает её, смотрит, даёт рекомендации. "


- смешно сказали). чисто по совковски))
Я НЕ ВЕРЮ в бесплатные качественные проекты. Я таких просто не знаю.
Меня раньше всегда firefox удивлял- как так. Вроде и прекрасен. И бесплатен.
А вот инфо давеча прошла- гугль им 300 млн долл в год отваливает за то что у них в качестве домашней страницы гугль и указан.

так что с вашей рекоменлацией "выложить на фтп" - идите ка вы в жо@у, товарисч.)
// я ситмвол @ добавил. надесюьт теперь мое высказывание никого не оскорбит тута//
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603741
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, выдержу я эту беседу - или рука у меня дрогнет?
Впрочем, это лирика.

1. Всегда найдется что-то более производительное. Изучайте матчасть.
2. пока вы не пригласите специалиста -ни одна из БД не даст вам максимальной производительности
маленько отступление.
а) вы уверены, что вам нужна именно максимальная производительность, а не достаточная?
б) вы уверены, что вы готовы платить за максимальную производительность?

3) выкладывайте свою нетленку. Может и посмотрим.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603742
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspir, повторюсь .
Давайте скрипт БД, данные или скрипт по генерации данных, запрос, показатели тестирования этого дела на своем mdb и мс скл, характеристики своего железа. желающих запустить это дело на своих СУБД найдётся достаточно (если хоть чуть-чуть хамить перестанете). Потом народ ещё в боевом азарте пооптимизирует. Получите более-менее реальные цифры. А так воду в ступе толчём. Не будет вам однозначного ответа, зато найдёте один или несколько удовлетворяющих или выберете наименьшее зло... Такой вариант годится?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603743
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirlocky,

"tipa_shekspir,

существует простой способ, которым вы можете воспользоваться.
Вы выкладываете свою нетленку на ФТП
Какой-нибудь альтруист скачивает её, смотрит, даёт рекомендации. "


- смешно сказали). чисто по совковски))
Я НЕ ВЕРЮ в бесплатные качественные проекты. Я таких просто не знаю.
Меня раньше всегда firefox удивлял- как так. Вроде и прекрасен. И бесплатен.
А вот инфо давеча прошла- гугль им 300 млн долл в год отваливает за то что у них в качестве домашней страницы гугль и указан.

так что с вашей рекоменлацией "выложить на фтп" - идите ка вы в жо@у, товарисч.)
// я ситмвол @ добавил. надесюьт теперь мое высказывание никого не оскорбит тута//
Ок.
и правда - но мани но хани
выкладывайте, я посмотрю её за разумную почасовую сумму.

зы еще один закидон - и мы с вами попрощаемся, хоть это будет немного неловко.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603746
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirЯ НЕ ВЕРЮ в бесплатные качественные проекты. Я таких просто не знаю.

Зато верите в то, что 1) кто-то из присутствующих назовёт вам СУБД по вашей формулировке задачи.
2) Это будет правда;
3)) Это вам поможет наиболее эффективно решить задачу...
У каждого свои закидоны...
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603747
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky,

"Уважаемый
при всём моем уважении специалистами по БД тут являемся мы, а не, прошу прощения, вы"
- специалистами являются люди сделавшие конкретный ПРОЕКТ. Вроде хотя бы Фицпатрика сделавшего ЖЖ и подарившего миру много идей.
А вы, судя по ответу- недоразумение какое то , а не совсем штоб специалисты)


"и если уж мы считаем, что некоторые задачи является разумным выполнять ВНЕ бд, то, видимо, так оно и есть."
- дело в том что я более-менее конкретизировал свою постановку вопроса. а вот вы- нет.
И это нас отличает. Вы понятия не имеете о том что есть МЕТОДОЛОГИЯ. ТО ЧТО вы изучили десяток строк - вас не извиняет)


Поэтому ваш подход с термином "разумнее" не совсем понятен.

Когдя я был студентом, - возился с интегральными уравнениями с нелинейностями и со стохастикой - что-то делал в ассемблере. Ибо для таких задач ВСЕГДА не будет хватать проивзодительности)

И что? мне с точки зрения производительности все на Masm что ль переписывать?)
это по вашему "разумнее"?) в терминах моей постановки задачи то?)



- это как же так. Вот приходит специалист. И вам



В противном случае возникает вопрос - если вы всё знаете лучше нас - то к чему тогда спрашиваете?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603749
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне это напоминает грекса чем-то
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603750
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirКогдя я был студентом, - возился с интегральными уравнениями с нелинейностями и со стохастикой - что-то делал в ассемблере. Ибо для таких задач ВСЕГДА не будет хватать проивзодительности)

Кластер и параллельные вычисления в помощь
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603751
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, любезный
Или слушайте что вам говорят те, к кому вы обратились за советом, или прекращайте пудрить тут всем мозги (тем более - в такой хамской манере)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603752
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyМне это напоминает грекса чем-то
На твоё предложение выложить проект - съехал (допустим побоялся/постеснялся/долго чистить БД от компромата/ещё чего).
Если проигнорирует и мое выдать скрипт и свои показатели скорости, но продолжит спорить по остальным репликами - можно записывать в тролли и закрывать топик...
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603753
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойlockyМне это напоминает грекса чем-то
На твоё предложение выложить проект - съехал (допустим побоялся/постеснялся/долго чистить БД от компромата/ещё чего).
Если проигнорирует и мое выдать скрипт и свои показатели скорости, но продолжит спорить по остальным репликами - можно записывать в тролли и закрывать топик...
Да давно уже можно записывать в тролли
другое дело - сознательные, или такой и есть :)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603755
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой,

"Зато верите в то, что 1) кто-то из присутствующих назовёт вам СУБД по вашей формулировке задачи.
2) Это будет правда;
3)) Это вам поможет наиболее эффективно решить задачу...
У каждого свои закидоны... "




- хм.
а почему нет то? это что-коммерческая тайна, или требует немыслимого напряжения ума?
есть спорткар, джип , карьерный самосвал и ваз-2107.

Я спрашиваю "на чем оптимальнее довезти мешок цемента на дачу". Ответ- на автовазе.
И в чем в такой постановкем вопроса подвох?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603756
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirАнатоЛой,

"Зато верите в то, что 1) кто-то из присутствующих назовёт вам СУБД по вашей формулировке задачи.
2) Это будет правда;
3)) Это вам поможет наиболее эффективно решить задачу...
У каждого свои закидоны... "




- хм.
а почему нет то? это что-коммерческая тайна, или требует немыслимого напряжения ума?
есть спорткар, джип , карьерный самосвал и ваз-2107.

Я спрашиваю "на чем оптимальнее довезти мешок цемента на дачу". Ответ- на автовазе.
И в чем в такой постановкем вопроса подвох?
Подвох в том, что дача - на острове, моста нет, навигация открывается в марте
какой к черту автоваз?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603758
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой,

--------------
вот ведь, ебанашки одномерные тута собрались).
ау, кодеры пещерные!
на улице начало января. я у своих друзей в Подмосковье (это , кстати, и по ip пробивается).
делать нечего- погода плохая- вот про то что актуально и написал).

какие "коды" , вам, тупорыликам надо то?!)


А) есть 1 млн строк в формате Plain text (строка- это то что отделено \r\n)
Б) каждая строка- слово. То есть string длиной до 20 байт, скажем.
В) всё это добро перегнать в БД. И сделать запрос (выше уже много раз писал какой)

- "коды" им подавай. ребят - ну нельзя ж быть такими тупыми то, а?)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603761
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspir,

хм. И у вас проблемы с задачей в вашей постановке?
Тогда я просто теряюсь.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603762
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspir, смысл по айпи пробивать. Пробивать нужно сразу по хлебалу.
Ты полагаешь, что кто-то уже проводил испытания твоего примера на 2 десятках СУБД? И он здесь есть? И даже скажет тебе ответ?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603763
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ув. шекспир. Нет простого ответа на ваш вопрос. Я так понимаю, что мои заметки лемму вы не читали, во всяком случае реакции на нее не последовало. Так вот, я там писал, что очень важен у субд нормальный оптимизатор, плюс СУБД должна нормально поддерживать статистику распределения данных в колонках. Это нужно для оптимизатора, что-бы он вверно оценивал вероятности распределения величин в колонках и соответственно выбирал наиболее оптимальный план. Нет метрики, лучшести оптимизатора, есть некий у всех практический опыт насколько часто и в каких ситуациях оптимизатор может промахнуться. Соответсвенно насколько быстро у вас сделается некая выборка сильно завиит от выбранного плана выполнения запроса сервером. Это важно. СУБД это не просто читалка блоков данных с диска, там есть множество алгоритмов выполнения одной и той-же задачи и выбр алгоритма может зависеть от текущего состояния сервера, т.е. не всегда можно предсказать как будет выполнятся конкретный запрос. Так-же есть еще понятие, насколько субд умеет выполнять один и тот-же запрос на нескольких процессорах одновременно. Не все запросы параллелятся, но если этот механизм работает, то почему бы и нет.
Если у вас БД влезет в оперативку, то вообще супер. Если нет, то ставьте RAID - в юбом случае это будет полезно как для производительности, так и для надежности.
И еще, есть еще такие СУБД, которые упрощенно называют колоночными (collumn oriented), они очень быстро работают на агрегации/подсчет данных в колонках. Может в вашем случае это даст за счет другой модели хранения данных сущесвенный прирост по сравнению с обычными СУБД. Но эти колоночные субд либо очень дороги (sybase IQ) либо деланные небольшими усилиями небольших фирм и как они работают в реальности - хз. Да и спецов по ним немного.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603765
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
locky,

"хм. И у вас проблемы с задачей в вашей постановке?
Тогда я просто теряюсь. "

- Ты не теряйся -бодрись! ты ж не на экзамене у такого ж слабоумного как ты). еще раз:


А. есть 1 млн объектов - "слов" (string, длиной до 20 байт, разделоены \r\n\)

Б. их надо прегнать в БД. время перегона, время формирования индексов и пр стандартных в таких случаях действий - несущественно

В. делаем запрос. показывает частотность. сколько раз встречается слово

Г. Рассматриваем ВСЕ БД поддержитвающих sql запросы. Вопросы лицензионности, стоимости пока не рассматриваем. Сети нет. Пользователь один. ОС- windows, любая.
Единственное ограничение- эта БД должна более менее логично (просто. эффективно) работать с visual studio (.net).

Д. требьуется указать Бд делающую такой запрос за мин время.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603766
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirlocky,

"хм. И у вас проблемы с задачей в вашей постановке?
Тогда я просто теряюсь. "

- Ты не теряйся -бодрись! ты ж не на экзамене у такого ж слабоумного как ты). еще раз:


А. есть 1 млн объектов - "слов" (string, длиной до 20 байт, разделоены \r\n\)

Б. их надо прегнать в БД. время перегона, время формирования индексов и пр стандартных в таких случаях действий - несущественно

В. делаем запрос. показывает частотность. сколько раз встречается слово

Г. Рассматриваем ВСЕ БД поддержитвающих sql запросы. Вопросы лицензионности, стоимости пока не рассматриваем. Сети нет. Пользователь один. ОС- windows, любая.
Единственное ограничение- эта БД должна более менее логично (просто. эффективно) работать с visual studio (.net).

Д. требьуется указать Бд делающую такой запрос за мин время.
Dictionary<string,int> - для данной постановки задачи наиболее подходящий вариант
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603767
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой,

"tipa_shekspir, смысл по айпи пробивать. Пробивать нужно сразу по хлебалу.
Ты полагаешь, что кто-то уже проводил испытания твоего примера на 2 десятках СУБД? И он здесь есть? И даже скажет тебе ответ? "



- нет , я не считаю что кто то проводил тестинг моего примера.

но я считаю, что с вероятностью примерно 1% на этом формуе есть не му**к а человек с приличным образованием и некривыми руками.
Который знает что такое логика, интерполяция, прогнозирование и пр. Это чел может пообщаться со мной в понятном мне ключе.

к тебе, тупорылику, это не относится)
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603768
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirА...
Д. требьуется указать Бд делающую такой запрос за мин время.
Сколько денег даёшь?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603769
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если кратко, то среди существующих СУБД дя вашей задачи нет какой-то такой СУБД, со встроенным убер-алгоритмом, который бы давал какой-то заметный всем результат.
Если кратко: посмотрите MSSQL как весьма дружелюбный к пользователю приличный сервер. Ну и я не могу не посоветовать попробовать Sybase SA, как дружелюбный неплохой сервер с приличным оптимизатором. Но а вообще сгодится все, mysql только не берите.
Ну и универсальная вундер-вафля-субд : oracle. Умеет все, но требует квалификации.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603774
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ggg_old,

"если кратко, то среди существующих СУБД дя вашей задачи нет какой-то такой СУБД, со встроенным убер-алгоритмом, который бы давал какой-то заметный всем результат."
- спасибо! звучит реалистично. я чего то подобного ожидал(((...


"Если кратко: посмотрите MSSQL как весьма дружелюбный к пользователю приличный сервер. "
- конечно. мы простые. мы виндусятники. Но вот такой более узкий вопрос. если брать линейку - локальные файлы mdb, ms sql express, ms sql - отличается ли у них скорость на таких запросах?
я ведь как рассуждаю- у многопользовательских вещей типа ms sql могут быть НЕКИЕ ОГРАНИЧЕНИЯ по производительности в пользу СТАБИЛЬНОСТИ.
например по забираемой памяти. А у однопользовательской access такого ограничения может и не быть? как полагаете -будут ли между ними СУЩЕСТВЕННАЯ разница по скорости ( всё что меньше 20% -это не разница. эжто ерунда и погрешность)






Ну и я не могу не посоветовать попробовать Sybase SA, как дружелюбный неплохой сервер с приличным оптимизатором. Но а вообще сгодится все, mysql только не берите.
- спааибо. будет чем заняться...

Ну и универсальная вундер-вафля-субд : oracle. Умеет все, но требует квалификации.
- много про них говорят. но ни у кого из знакомых не видел, увы, в отличие от ms sql И т.п.
Тесты бы посмотреть. Казалось бы чего проще- делать сложный запрос и посмотреть время ваыполшнения. Но ораклы и пр ведь под иное заточены. Под большое число одновременных запросов и пр. Нам скорее embedded database надо. Десктопные локальные однопользовательсие...
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603775
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой,
"сколько денег даешь"

хм. посмотрел твои посты по профилю. у тебя там дельфи и информикс.
это неинтересно.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603776
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSupertipa_shekspirТак что бан непонятен.если Вам родители в детстве что-то не объяснили, мне сейчас это делать бесполезно

думайте прежде чем писать
мне Ваши проблемы неинтересны, не знаю зачем другие на них ведутся, но читать оскорбления неприятно, не важно в чей адрес

Если на этом примере проинтерполировать SPb и "Подмосковье", культурность регионов просто таки сильно разная...
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603777
мне кажется понятно что хочет автор топика и какова логика

тк тема форума
Сравнение СУБД
то предполагается что здесь люди которые повидали не одну а две, три, а может и четыре различных базы данных
и он хочет чтобы его запрос каждый на своей базе прогнал
таким образом каждый сделает по немногу а в сумме получится ответ по многим бд

те надо сделать так
1 создать общий txt файл
2 выложить его здесь
3 создать общий запрос
4 выложить его здесь
5 каждый желающий скачает это все
6 каждый желающий запустит это все у себя (предварительно зальет в бд текст и запрос)
7 чтобы как-то привязаться к общему знаменателю можно сравнивать время выполнения на тестовой базе и на эталонной базе
8 за эталонную взять SqlExpress как всем доступную и всем известную для чистоты надо чтобы был тот же билд релиз и тд
9 сравнить во сколько раз дольше или быстрее выполняется запрос на тестовой базе в сравнении с эталонной
10 выложить результаты сюда

смысла конечно никакого
зато мы компетентно ответим на вопрос
какая бд на заданных данных и на заданном запросе быстрее
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603778
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой,

да. пост-ленинград -это редкостная помойка. даже хуже чем москва.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603779
Ой, как тут интересно ...
проблема в чем, где тормозящие запросы и код?

не будет нормальных вопросов - не будет ответов.

ради спортивного интереса:
книги брал тут -> http://alltxt.org.ua/article.php?id=060
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
iconv -f CP1251 "Вишневый сад.txt"                                     >"Вишневый сад.utf8"
iconv -f CP1251 "Дядя Ваня.txt"                                        >"Дядя Ваня.utf8"
iconv -f CP1251 "Иванов.txt"                                           >"Иванов.utf8"
iconv -f CP1251 "Короткие пьесы.txt"                                   >"Короткие пьесы.utf8"
iconv -f CP1251 "Леший.txt"                                            >"Леший.utf8"
iconv -f CP1251 "Рассказы 1887 г..txt"                                 >"Рассказы 1887 г..utf8"
iconv -f CP1251 "Рассказы и повести 1888 - 1891 гг..txt"               >"Рассказы и повести 1888 - 1891 гг..utf8"
iconv -f CP1251 "Рассказы и повести 1892 - 1894 гг..txt"               >"Рассказы и повести 1892 - 1894 гг..utf8"
iconv -f CP1251 "Рассказы и повести 1894 - 1897 гг..txt"               >"Рассказы и повести 1894 - 1897 гг..utf8"
iconv -f CP1251 "РАссказы и повести 1898 - 1903 гг..txt"               >"РАссказы и повести 1898 - 1903 гг..utf8"
iconv -f CP1251 "Рассказы и юморески 1884-1885 гг. Драма на охоте.txt" >"Рассказы и юморески 1884-1885 гг. Драма на охоте.utf8"
iconv -f CP1251 "Рассказы и юморески 1885 - 1886 гг..txt"              >"Рассказы и юморески 1885 - 1886 гг..utf8"
iconv -f CP1251 "Рассказы, повести, юморески 1880 - 1882 гг..txt"      >"Рассказы, повести, юморески 1880 - 1882 гг..utf8"
iconv -f CP1251 "Рассказы, юморески 1883 - 1884 гг..txt"               >"Рассказы, юморески 1883 - 1884 гг..utf8"
iconv -f CP1251 "Три Сестры.txt"                                       >"Три Сестры.utf8"
iconv -f CP1251 "Чайка.txt"                                            >"Чайка.utf8"
Код: java
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package book.word;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;

import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
import java.io.File;
import java.io.FileNotFoundException;

public class BooksWords {

    public static Connection connection;

    public static void InitConnection() throws ClassNotFoundException, SQLException {

        Class.forName("org.h2.Driver");
        Class.forName("org.postgresql.Driver");

        connection = DriverManager.getConnection("jdbc:h2:mem:test", "sa", "");
        //connection = DriverManager.getConnection("jdbc:postgresql:postgres", "postgres", "");

        try {

            connection.prepareStatement("drop table if exists book_word;").execute();
            connection.prepareStatement("drop table if exists word;").execute();
            connection.prepareStatement("drop table if exists book;").execute();

            //connection.prepareStatement("drop sequence if exists sq_book;").execute();
            //connection.prepareStatement("drop sequence if exists sq_word;").execute();

            connection.prepareStatement("drop sequence sq_book;").execute();
            connection.prepareStatement("drop sequence sq_word;").execute();
        } catch (SQLException e) {
        }

        connection.prepareStatement("create sequence sq_book;").execute();
        connection.prepareStatement("create table book (id int not null default nextval('sq_book'), book varchar not null);").execute();
        connection.prepareStatement("alter table book add constraint pk_book primary key (id);").execute();
        connection.prepareStatement("create unique index ak_book on book (book);").execute();



        connection.prepareStatement("create sequence sq_word;").execute();
        connection.prepareStatement("create table word (id int not null default nextval('sq_word'), word varchar not null);").execute();
        connection.prepareStatement("alter table word add constraint pk_word primary key (id);").execute();
        connection.prepareStatement("create unique index ak_word on word (word);").execute();


        connection.prepareStatement("create table book_word (bookid int not null, wordid int not null, cnt int);").execute();
        connection.prepareStatement("alter table book_word add constraint pk_book_word primary key (bookid, wordid);").execute();
        connection.prepareStatement("alter table book_word add constraint fk_book_word_book foreign key (bookid) references book (id);").execute();
        connection.prepareStatement("alter table book_word add constraint fk_book_word_word foreign key (wordid) references word (id);").execute();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        // TODO code application logic here
        InitConnection();

        ResultSet rs;

        WordFrequency("/tmp/b&w/Вишневый сад.utf8");
        WordFrequency("/tmp/b&w/Дядя Ваня.utf8");
        WordFrequency("/tmp/b&w/Иванов.utf8");
        WordFrequency("/tmp/b&w/Короткие пьесы.utf8");
        WordFrequency("/tmp/b&w/Леший.utf8");
        WordFrequency("/tmp/b&w/Рассказы 1887 г..utf8");
        WordFrequency("/tmp/b&w/Рассказы и повести 1888 - 1891 гг..utf8");
        WordFrequency("/tmp/b&w/Рассказы и повести 1892 - 1894 гг..utf8");
        WordFrequency("/tmp/b&w/Рассказы и повести 1894 - 1897 гг..utf8");
        WordFrequency("/tmp/b&w/РАссказы и повести 1898 - 1903 гг..utf8");
        WordFrequency("/tmp/b&w/Рассказы и юморески 1884-1885 гг. Драма на охоте.utf8");
        WordFrequency("/tmp/b&w/Рассказы и юморески 1885 - 1886 гг..utf8");
        WordFrequency("/tmp/b&w/Рассказы, повести, юморески 1880 - 1882 гг..utf8");
        WordFrequency("/tmp/b&w/Рассказы, юморески 1883 - 1884 гг..utf8");
        WordFrequency("/tmp/b&w/Три Сестры.utf8");
        WordFrequency("/tmp/b&w/Чайка.utf8");


        rs = connection.prepareStatement(
                "select 'к-во слов, которые присутствуют во всех книгах' as t, count(*) as c from word where id in (select wordid from book_word group by wordid having count(*)=(select count(*) from book))"
                + " union all "
                + "select 'к-во слов, которые встречаются только один раз', count(*) from word where id in (select wordid from book_word group by wordid having sum(cnt)=1)"
                + " union all "
                + "select 'к-во слов, всего', sum(cnt) from book_word"
                + " union all "
                + "select 'к-во слов, уникальных', count(*) from word").executeQuery();

        System.out.print("\n");

        while (rs.next()) {
            System.out.printf("%-20s%10d\n", rs.getString(1), rs.getInt(2));
        }

        if (connection != null) {
            connection.close();
            connection = null;
        }
    }

    //http://www.dcs.bbk.ac.uk/~keith/isd11/resources/workedExamples/ch10.pdf
    /**
    This program prints the frequencies of all words in "Alice in Wonderland".
     */
    private static void WordFrequency(String _file) throws SQLException {
        Map<String, Integer> frequencies = new TreeMap<String, Integer>();

        Scanner in;
        try {
            in = new Scanner(new File(_file));
            while (in.hasNext()) {
                String word = clean(in.next());

                // Get the old frequency count

                Integer count = frequencies.get(word);

                // If there was none, put 1; otherwise, increment the count

                if (count == null) {
                    count = 1;
                } else {
                    count = count + 1;
                }

                frequencies.put(word, count);
            }
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        }

        // Print all words and counts

        PreparedStatement insertBook, insertWord, insertBookWord, selectWord;
        ResultSet generatedKeys;


        insertBook = BooksWords.connection.prepareStatement("insert into book (id, book) values (default, ?)", Statement.RETURN_GENERATED_KEYS);
        insertBook.setString(1, _file);
        insertBook.execute();
        generatedKeys = insertBook.getGeneratedKeys();
        int bookID = 0;
        while (generatedKeys.next()) {
            bookID = generatedKeys.getInt(1);
        }
        generatedKeys.close();

        insertBook.clearParameters();
        insertBook.close();


        insertWord = BooksWords.connection.prepareStatement("insert into word (word) select ? where not exists (select id from word w where w.word = ?)", Statement.RETURN_GENERATED_KEYS);
        selectWord = BooksWords.connection.prepareStatement("select id from word where word = ?");
        insertBookWord = BooksWords.connection.prepareStatement("insert into book_word (bookid, wordid, cnt) values (?, ?, ?)");

        int wordID = 0;
        for (String key : frequencies.keySet()) {

            insertWord.setString(1, key);
            insertWord.setString(2, key);
            insertWord.execute();
            generatedKeys = insertWord.getGeneratedKeys();

            if (generatedKeys.next()) {
                wordID = generatedKeys.getInt(1);

            } else {
                selectWord.setString(1, key);
                generatedKeys = selectWord.executeQuery();
                if (generatedKeys.next()) {
                    wordID = generatedKeys.getInt(1);
                } else {
                    //
                }
            }

            insertBookWord.setInt(1, bookID);
            insertBookWord.setInt(2, wordID);
            insertBookWord.setInt(3, frequencies.get(key));
            insertBookWord.execute();

            //System.out.printf("%-20s%10d\n", key, frequencies.get(key));
        }
        //BooksWords.connection.
    }

    private static String clean(String s) {
        String r = "";
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (Character.isLetter(c)) {
                r = r + c;
            }
        }
        return r.toLowerCase();
    }
}


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
time java -jar Book\&Word.jar

к-во слов, которые присутствуют во всех книгах       545
к-во слов, которые встречаются только один раз     48752
к-во слов, всего       1265500
к-во слов, уникальных    102084

real    0m6.878s
user    0m10.980s
sys     0m0.315s
p.s.
на жабе не пишу, что-то клямка упала
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603780
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tipa_shekspirАнатоЛой,
"сколько денег даешь"

хм. посмотрел твои посты по профилю. у тебя там дельфи и информикс.
это неинтересно.
А как же логика и прогнозирование?
Почему думаешь, что работу буду делать я? :)
И сколько денег даёшь за наводку на данный топик за каждого человека из упомянутых 1% с нужным тебе "образованием"?
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603781
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ответ для "ничего не понял,"-

"мне кажется понятно что хочет автор топика и какова логика

тк тема форума
Сравнение СУБД
то предполагается что здесь люди которые повидали не одну а две, три, а может и четыре различных базы данных"
- не а. Четыре это вроде до фига.
Я считаю, что если чел чему то учился и у него не кривые руки -ему нет необходимости пробовать тыщу клонов. Он попробовал некое подмножество.может для самых мудрых достаточно пары ms sql И какой нипбудь firebird, а об остальном он судит экспертно. интреполируя и пр


и он хочет чтобы его запрос каждый на своей базе прогнал
- я такого не хочу. за такое деньги платить надо. я пару слов в ответ на мой вопрос прошу.


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



те надо сделать так
1 создать общий txt файл
2 выложить его здесь
3 создать общий запрос
4 выложить его здесь
5 каждый желающий скачает это все
6 каждый желающий запустит это все у себя (предварительно зальет в бд текст и запрос)
7 чтобы как-то привязаться к общему знаменателю можно сравнивать время выполнения на тестовой базе и на эталонной базе
8 за эталонную взять SqlExpress как всем доступную и всем известную для чистоты надо чтобы был тот же билд релиз и тд
9 сравнить во сколько раз дольше или быстрее выполняется запрос на тестовой базе в сравнении с эталонной
10 выложить результаты сюда

- хм. грубо говоря железо разное. у вас более шустрая память иль еще что.это может влять на SqlExpress и тестируемую БД по разному... и это перекорежет всю картинку и сделает бессмысленной затею0


смысла конечно никакого
- ок. вы из колледжа сельского, што б это понять?

зато мы компетентно ответим на вопрос
какая бд на заданных данных и на заданном запросе быстрее
- ну ну. типа пошутили? вы б не позорились, товарисч. дураком кажетесь.
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603782
tipa_shekspir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой,

А как же логика и прогнозирование?
- так я тебе и ответил. ты ж - дельфи. А носитель сего по определению неинтересен в качестве эксперта, прогнозера и пр.


Почему думаешь, что работу буду делать я? :)
- не думаю. меньше всего мне хочется связывваться с хламом.


И сколько денег даёшь за наводку на данный топик за каждого человека из упомянутых 1% с нужным тебе "образованием"?
- тебе ничего не дам. за общение с такими как ты - ты мне должден доплачивать за душевные травмы.

пойми, однобайтный. ты хороший чел наверное но как эксперт в данном вопросе неинтересен. ничего личного
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603784
ничего я не пошутил

как иначе узнать на вопрос только померять и тогда узнать

как узнать кто победит в футбольном матче?
досмотреть матч до конца
а не читать статистику прошлых встреч
читать как сыграны были игры неделю две назад
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603785
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя душа не вынесла окончательно
...
Рейтинг: 0 / 0
Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.
    #37603855
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, да вы чё? С кем Вы спорите? Зачем?

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


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