Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6   вперед  Ctrl      все
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
лемма, не смотря на 2 страницы топика я так и не понял до конца что вы хотите делать до конца.
Но впринципе отвечу так:
1) Вам нужно загонять в базу просто слова из текста, даже повторяющиеся.
Я так понял, что скорость загрузки некритична, т.е. подойдет люая современная субд. В любом случае все субд умеют загружать данные быстро через механизм bulk copy/load table итп из файла разделенного запятыми.
2)Потом вы как-то обрабатываете эти слова. Например делаете частотный анализ или еще чего-то и тут вам важна скорость.
В общем современные субд меряются не сколько как быстро они выполняют одиночный селект, а как хорошо они умеют работать в режиме высокой конкурентной нагрузки. Все они умеют индексы итп. и делают выборки более менее хорошо. Для быстроты выборок важно, что-бы использовался правильный индекс. В случае индекса по текстовым полям у вас все будет быстро работать, если выборка по полю слов будет фильтровать либо по полному совпадению field='слово1' либо по частичному совпадению: field like 'слово%'. Если же вы заходитет поискать так: field like '%путин%', то индекс использоваться не будет и вы попадете на полный перебор таблицы, то есть на тормоза. Т.е. если у вас запрос будут заватать индекс, то субд не важна, все будет работать быстро. Если нет - то везде будет работать медленно.
Далее, есть субд, которые умеют строить полнотекстовые индексы. Полнотектовая индексация поможет, но она расчитана на индексацию документов в полях. Полнотектовую индексациютоже умеют многие из коробки, например sybase sa,mssql, где-то она идет как опция. Но судя по постанвке она вам не нужна.
5 янв 12, 18:40    [11862677]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
есть еще мелкие тонкости,коотрые будут там давать плюс/минус, но это величина процентов величины а не порядков. В общем берите любую, загоняйте туда данные и оно будт работать быстро, если запросы будут попадать в индексы.
5 янв 12, 18:48    [11862693]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
CodeGenerator
Member

Откуда:
Сообщений: 71
Вам надо определиться с главным: надо ли Вам таблицу со всеми словами одновременно. Сомневаюсь, что из 10 млн слов вы выбираете зразу все (пусть из них уникальных 50 000). Обычно же выбираете, скорее всего, или одно слово (сколько есть вхождений по одному слову) или слова с каким-то критерием, но никак не 50-100 тисяч за раз (ну не сможете столько просмотреть вживую).
Исходя из вышеописаного выполнил похожий запрос на своей машине.
Количество записей (слов) 21 800 000 из них уникальных 5 700 000 слов.
Ищет слова и считает число вхождений и выводит 1000 таких слов (ну можно больше, но человек это не просмотрит) за 10-20 милисекунд.
5 янв 12, 18:59    [11862728]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
ничего не понял
Guest
автор
lemma


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

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


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

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

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

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

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

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

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

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

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

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

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

8 вообщем нужно более ясно сформулировать задачу
и помнить что именно вид запросов на извлечение информации определяет оптимальную структуру хранения предобработанных данных
а не наоборот
вспомните OLAP там например информация о продажах за месяц суммируется и сохраняется поэтому легко и быстро можно получить информацию о продажах за год или за несколько месяцев но нельзя получить информацию за неделю ее там просто нет
5 янв 12, 19:24    [11862795]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
SERG1257
Member

Откуда:
Сообщений: 2933
Дорогой lemma,

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

Искренне ваш SERG1257
5 янв 12, 19:48    [11862873]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
lemma
Member [заблокирован]

Откуда:
Сообщений: 29
ответ товарищу с ником "ничего не понял"-
"просмотрев 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 это ЦИФРОВЫЕ данные, олух ты царя небесного! И сумма вычислется из подсумм! а для текстовых данных это не так!)
5 янв 12, 20:37    [11863008]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
lemma
Member [заблокирован]

Откуда:
Сообщений: 29
SERG1257,

"Дорогой lemma,

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

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

А в канаде и сантехники коноплю проституткам продают.
Ты чо представляешь то тут, ментальный недоносок?)
5 янв 12, 20:39    [11863015]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
lemma
Member [заблокирован]

Откуда:
Сообщений: 29
Ggg_old,

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


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




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

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

и никак не зависит от скорости доступа к диску иль иных деталей? "
5 янв 12, 20:42    [11863021]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54794

lemma
я и с прашиваю- надо сделать запрос. есть БД SQLITE, FIREBIRD.. и пр. КТО быстрее сделает
то, вот вопрос.

FVMAS. Ну или Cache.

Posted via ActualForum NNTP Server 1.5

5 янв 12, 20:44    [11863030]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
lemma
Member [заблокирован]

Откуда:
Сообщений: 29
CodeGenerator,

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


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


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

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

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

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



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

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

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

вы это деффкам из села Верхние Залупки рассказ0ывайте)
5 янв 12, 20:54    [11863056]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
lemma
Member [заблокирован]

Откуда:
Сообщений: 29
Dimitry Sibiryakov,

"FVMAS"



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

- так за пределами РФ о Дельфи никто и не знает. Это здесь такое говно только и актуально. так что неинтересно. или вы шутите так- в ситу одноклеточности0
5 янв 12, 20:56    [11863065]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
lemma
Member [заблокирован]

Откуда:
Сообщений: 29
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 Тб... Но для наших целей она грубовата- она работает таки с выводом ФАЙЛОВ а мы - выводом СЛОВ.
5 янв 12, 21:18    [11863122]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
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 (список слов)

все оч. просто.
Но помните, строковые значения должны либо сравниваться на полное соответствие либо на совпадение начальных фрагментов, поиск по уорню слова или окончанияю не катит.
5 янв 12, 21:39    [11863181]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
АнатоЛой
Member

Откуда: Киев, Украина
Сообщений: 2897
Блог
lemma, у вас сейчас используется РСУБД или нет?
5 янв 12, 21:40    [11863186]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
lemma, про индексы
основной алгоритм на сегодняшний день b-tree (его вариации). В общем время поиска растет логарифмически в зависимости от объема данных. Вы как выпускник технического вуза должны еще помнить график. Т.е. график выходит на некое почти насыщение и время поиска растет очень медленно. Это и есть основа основ.
5 янв 12, 21:51    [11863216]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
забанил я его
ну нельзя в таком тоне общаться
5 янв 12, 22:12    [11863269]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
АнатоЛой
Member

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

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

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

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

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

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

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

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

Кстати, похожие аргументы можно привести и по поводу in-memory dbms: они проектируются с учётом отсутствия дисковой подсистемы (дополнительного архитектурного слоя) и поэтому могут реализовывать более эффективные алгоритмы выполнения запросов. Это по поводу пункта Б... Нет пределов совершенству. Вот, например, поучительный топик на эту тему
5 янв 12, 22:15    [11863275]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
и еще

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

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

так что либо терпите, либо выбирайте другого модератора, я не против если что
5 янв 12, 22:23    [11863291]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
ничего не понял
Guest
автор
lemma

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

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

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


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


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


сканировать память - я подразумевал последовательно прочитать каждый байт ровно один раз
5 янв 12, 22:55    [11863360]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4257
[quot kdv]
lemma
Миллиона слов, если я не ошибаюсь, нет ни в одном языке..


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

В русском 350 тыщ
5 янв 12, 23:12    [11863396]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30253
Lepsik
в английском миллион.

возможно.
Якобы, в произведениях Шекспира используется около 20000 слов, у Пушкина - ~21000 слов. Причем, у Пушкина якобы половина слов используется по одному разу.

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

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


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

Характеристики топикстартера обсуждать не буду, хотя они показательны. На русскоязычном форуме писать на русском языке что русскоязычные форумы фигня - это апофеоз (эмигранта?).
6 янв 12, 00:14    [11863563]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

Откуда:
Сообщений: 22
Lepsik,

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


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

так вот даже с такими "словами" , если их приводить к одной форме (стеммировать) - в русском врдя ли более 100 000 слов наберется. Но даже если и 300 000. что сие меняет?)
6 янв 12, 01:10    [11863691]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

Откуда:
Сообщений: 22
SergSuper,

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

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

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

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



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

Так что бан непонятен.
6 янв 12, 01:11    [11863694]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

Откуда:
Сообщений: 22
АнатоЛой,

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




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

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

Нам кажется такая помтановка вопроса корректной. И интересной многим. А вот то что вы ерзаеет и не отвечаете по существу-нам непонятно)
6 янв 12, 01:11    [11863695]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
tipa_shekspir
АнатоЛой,

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




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

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

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

Для того чтобы получить максимальную скорость на определенных запросах в общем случае нужно провести некоторые действия.
6 янв 12, 01:20    [11863720]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить