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

Откуда: Харьков, Украина
Сообщений: 62034
В общем, любезный
Или слушайте что вам говорят те, к кому вы обратились за советом, или прекращайте пудрить тут всем мозги (тем более - в такой хамской манере)
6 янв 12, 02:28    [11863812]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
АнатоЛой
Member

Откуда: Киев, Украина
Сообщений: 2897
Блог
locky
Мне это напоминает грекса чем-то

На твоё предложение выложить проект - съехал (допустим побоялся/постеснялся/долго чистить БД от компромата/ещё чего).
Если проигнорирует и мое выдать скрипт и свои показатели скорости, но продолжит спорить по остальным репликами - можно записывать в тролли и закрывать топик...
6 янв 12, 02:33    [11863814]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
АнатоЛой
locky
Мне это напоминает грекса чем-то

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

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

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

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




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

Я спрашиваю "на чем оптимальнее довезти мешок цемента на дачу". Ответ- на автовазе.
И в чем в такой постановкем вопроса подвох?
6 янв 12, 02:39    [11863819]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
locky
Member

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

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




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

Я спрашиваю "на чем оптимальнее довезти мешок цемента на дачу". Ответ- на автовазе.
И в чем в такой постановкем вопроса подвох?

Подвох в том, что дача - на острове, моста нет, навигация открывается в марте
какой к черту автоваз?
6 янв 12, 02:41    [11863823]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

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

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

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


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

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

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

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

Откуда: Киев, Украина
Сообщений: 2897
Блог
tipa_shekspir, смысл по айпи пробивать. Пробивать нужно сразу по хлебалу.
Ты полагаешь, что кто-то уже проводил испытания твоего примера на 2 десятках СУБД? И он здесь есть? И даже скажет тебе ответ?
6 янв 12, 02:53    [11863842]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
ув. шекспир. Нет простого ответа на ваш вопрос. Я так понимаю, что мои заметки лемму вы не читали, во всяком случае реакции на нее не последовало. Так вот, я там писал, что очень важен у субд нормальный оптимизатор, плюс СУБД должна нормально поддерживать статистику распределения данных в колонках. Это нужно для оптимизатора, что-бы он вверно оценивал вероятности распределения величин в колонках и соответственно выбирал наиболее оптимальный план. Нет метрики, лучшести оптимизатора, есть некий у всех практический опыт насколько часто и в каких ситуациях оптимизатор может промахнуться. Соответсвенно насколько быстро у вас сделается некая выборка сильно завиит от выбранного плана выполнения запроса сервером. Это важно. СУБД это не просто читалка блоков данных с диска, там есть множество алгоритмов выполнения одной и той-же задачи и выбр алгоритма может зависеть от текущего состояния сервера, т.е. не всегда можно предсказать как будет выполнятся конкретный запрос. Так-же есть еще понятие, насколько субд умеет выполнять один и тот-же запрос на нескольких процессорах одновременно. Не все запросы параллелятся, но если этот механизм работает, то почему бы и нет.
Если у вас БД влезет в оперативку, то вообще супер. Если нет, то ставьте RAID - в юбом случае это будет полезно как для производительности, так и для надежности.
И еще, есть еще такие СУБД, которые упрощенно называют колоночными (collumn oriented), они очень быстро работают на агрегации/подсчет данных в колонках. Может в вашем случае это даст за счет другой модели хранения данных сущесвенный прирост по сравнению с обычными СУБД. Но эти колоночные субд либо очень дороги (sybase IQ) либо деланные небольшими усилиями небольших фирм и как они работают в реальности - хз. Да и спецов по ним немного.
6 янв 12, 02:59    [11863846]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

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

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

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


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

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

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

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

Д. требьуется указать Бд делающую такой запрос за мин время.
6 янв 12, 03:00    [11863849]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
locky
Member

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

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

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


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

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

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

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

Д. требьуется указать Бд делающую такой запрос за мин время.

Dictionary<string,int> - для данной постановки задачи наиболее подходящий вариант
6 янв 12, 03:02    [11863852]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

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

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



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

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

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

Откуда: Киев, Украина
Сообщений: 2897
Блог
tipa_shekspir
А...
Д. требьуется указать Бд делающую такой запрос за мин время.

Сколько денег даёшь?
6 янв 12, 03:04    [11863855]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Ggg_old
Member

Откуда: Одесса
Сообщений: 1342
если кратко, то среди существующих СУБД дя вашей задачи нет какой-то такой СУБД, со встроенным убер-алгоритмом, который бы давал какой-то заметный всем результат.
Если кратко: посмотрите MSSQL как весьма дружелюбный к пользователю приличный сервер. Ну и я не могу не посоветовать попробовать Sybase SA, как дружелюбный неплохой сервер с приличным оптимизатором. Но а вообще сгодится все, mysql только не берите.
Ну и универсальная вундер-вафля-субд : oracle. Умеет все, но требует квалификации.
6 янв 12, 03:06    [11863857]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

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

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


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






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

Ну и универсальная вундер-вафля-субд : oracle. Умеет все, но требует квалификации.
- много про них говорят. но ни у кого из знакомых не видел, увы, в отличие от ms sql И т.п.
Тесты бы посмотреть. Казалось бы чего проще- делать сложный запрос и посмотреть время ваыполшнения. Но ораклы и пр ведь под иное заточены. Под большое число одновременных запросов и пр. Нам скорее embedded database надо. Десктопные локальные однопользовательсие...
6 янв 12, 03:18    [11863864]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

Откуда:
Сообщений: 22
АнатоЛой,
"сколько денег даешь"

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

Откуда: Киев, Украина
Сообщений: 2897
Блог
SergSuper
tipa_shekspir
Так что бан непонятен.
если Вам родители в детстве что-то не объяснили, мне сейчас это делать бесполезно

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


Если на этом примере проинтерполировать SPb и "Подмосковье", культурность регионов просто таки сильно разная...
6 янв 12, 03:21    [11863868]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
ничего не понял
Guest
мне кажется понятно что хочет автор топика и какова логика

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

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

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

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

да. пост-ленинград -это редкостная помойка. даже хуже чем москва.
6 янв 12, 03:24    [11863872]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
Ой, клямка упала
Guest
Ой, как тут интересно ...
проблема в чем, где тормозящие запросы и код?

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

ради спортивного интереса:
книги брал тут ->http://alltxt.org.ua/article.php?id=060
+
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"
+
/*
 * 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();
    }
}

time java -jar Book\&Word.jar

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

real 0m6.878s
user 0m10.980s
sys 0m0.315s
p.s.
на жабе не пишу, что-то клямка упала
6 янв 12, 03:27    [11863874]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
АнатоЛой
Member

Откуда: Киев, Украина
Сообщений: 2897
Блог
tipa_shekspir
АнатоЛой,
"сколько денег даешь"

хм. посмотрел твои посты по профилю. у тебя там дельфи и информикс.
это неинтересно.

А как же логика и прогнозирование?
Почему думаешь, что работу буду делать я? :)
И сколько денег даёшь за наводку на данный топик за каждого человека из упомянутых 1% с нужным тебе "образованием"?
6 янв 12, 03:28    [11863875]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

Откуда:
Сообщений: 22
ответ для "ничего не понял,"-

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

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


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


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



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

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


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

зато мы компетентно ответим на вопрос
какая бд на заданных данных и на заданном запросе быстрее
- ну ну. типа пошутили? вы б не позорились, товарисч. дураком кажетесь.
6 янв 12, 03:31    [11863877]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
tipa_shekspir
Member [заблокирован]

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

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


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


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

пойми, однобайтный. ты хороший чел наверное но как эксперт в данном вопросе неинтересен. ничего личного
6 янв 12, 03:35    [11863878]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
ничего не понял
Guest
ничего я не пошутил

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

как узнать кто победит в футбольном матче?
досмотреть матч до конца
а не читать статистику прошлых встреч
читать как сыграны были игры неделю две назад
6 янв 12, 03:37    [11863880]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с выбором БД для анализа текстов -до сотен тысяч страниц.  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Моя душа не вынесла окончательно
6 янв 12, 03:38    [11863881]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить