Текущий архив: 2013.09.01;
Скачать: CL | DM;
Вниз
Посоветуйте базу данных! :-) Найти похожие ветки
← →
sniknik © (2013-03-25 15:07) [40]> Ну я не знаю
а... ну, я тоже не знаю, не "организовывал", нужды не было, знаю просто, что есть.
но это не ответ на "почему не вариант?". может там все в 2 раза круче Postgres-а... а его даже не рассматривают.
← →
Pit (2013-03-25 15:34) [41]
> Postres без вариантов.
ну хз начнет без вариантов. У меня остались двоякие впечатления. В базе нет и гигабайта, а тормозило все уже просто безбожно. Использовался постгрессный встроенный, textsearch или как-то так называется, запамятовал. То, что было в виде DLL, а потом в ядро прифигачили.
> http://www.ibase.ru/d_udf.htm <- там есть набор udf для
> полнотекстового поиска
а есть опыт работы? Что со скоростью?
> Зависит от типа поля где текст лежит.
ну допустим varchar.
И, допустим, blob.
← →
clickmaker © (2013-03-25 15:37) [42]в MS SQL Server Express with Advanced Services есть FTS
← →
Pit (2013-03-25 15:40) [43]ms sql мне представляется слишком тяжеловесной для такого проекта.
Как и oracle.
← →
DVM © (2013-03-25 16:09) [44]
> Pit (25.03.13 15:34) [41]
> ну допустим varchar.
ищет без дополнительных ухищрений
> И, допустим, blob.
dll свою надо делать, выше там была ссылка
Вообще для полнотекстового поиска по базам есть специальные средства внешние со своими индексами и прочее.
← →
Pit (2013-03-25 16:27) [45]
> ищет без дополнительных ухищрений
ты именно про полнотекстовый поиск? Или вхождение подстроки?
А можно пример Select"а с полнотекстовым поиском?
> Вообще для полнотекстового поиска по базам есть специальные
> средства внешние со своими индексами и прочее.
ну поэтому полнотекстовый поиск и так себе по приоритету (тем более, что сам продукт в общем может и обойтись без этого, по крайней мере на первых порах, просто удобно). Были бы триггеры для синхронизации информации - и ладно )
А у тебя есть опыт использования внешних средств? Интегрирование их с FB? Как результаты?
← →
Romkin © (2013-03-25 17:06) [46]
> а есть опыт работы? Что со скоростью?
Увы. Никогда не пользовал. Но из описания понятно, что там заполняются таблицы по словам и строятся индексы, то есть скорость та же, что и при "обычном" поиске.
← →
Аббат Пиккола (2013-03-25 17:28) [47]Firebird
← →
sniknik © (2013-03-25 17:35) [48]> ms sql мне представляется слишком тяжеловесной для такого проекта.
> Как и oracle.
ИМХО, но полнотекстовый поиск, нормально организованный, только в таких и есть.
в "легких" максимум что будет, это просто поиск в блобах... кстати есть и в access, легче не бывает.
и +, не согласен, что ms sql тяжеловесный...
← →
Pit (2013-03-25 17:52) [49]а есть у кого опыт общения со Sphinx?
Я вообще как себе представлял. Мы имеем "корневую" БД, также мы имеем некий демон - сфинкс.
При модификации информации (триггеры на Insert / update / delete) - об этом сообщается поисковой БД - сфинксу.
Когда нужно делать запросы полнотекстовый - через какой-то интерфейс делается запрос в сфинкс, он их своих внутрянок вытаскивает ответ.
Все это через те же ID"шники коррелирует с "корневой" БД.
Читаю про сфинкс - написано про нативную поддержку MySQL / Postgress. А в чем нативность поддержки?
Кто-нибудь может показать пример синхронизации информации со сфинксом / выполнение простенького запроса поискового? Если кто работал...
P.S. И насколько сложно его с FB интегрировать.
← →
Podgoretsky (2013-03-25 20:33) [50]
> Pit (25.03.13 15:40) [43]
> ms sql мне представляется слишком тяжеловесной для такого
> проекта.Как и oracle.
Настолько тяжелый, что его даже в телефоны встраивают.
← →
clickmaker © (2013-03-25 22:35) [51]> Настолько тяжелый, что его даже в телефоны встраивают
так это тяжелые телефоны и получаются: гвозди забивать можно
← →
Inovet © (2013-03-25 22:41) [52]> [50] Podgoretsky (25.03.13 20:33)
> Настолько тяжелый, что его даже в телефоны встраивают.
Interbase тяжелее, говорят, его первоначально на танки ставили.
← →
clickmaker © (2013-03-25 22:56) [53]а на самолеты - SQLite. Иначе не взлетит
← →
Pit (2013-03-25 23:03) [54]Удалено модератором
← →
clickmaker © (2013-03-25 23:10) [55]Удалено модератором
← →
Аббат Пиккола (2013-03-25 23:30) [56]После ORACLE проще на Firebird, ИМХО, чем на MS SQL.
← →
asail © (2013-03-26 01:54) [57]
> Аббат Пиккола (25.03.13 23:30) [56]
> После ORACLE проще на Firebird
Не, проще на Oracle XE (или как он называется, который бесплатный?). Хотя, лично я за Firebird. Но, если автор сабжа имеет опыт с Oracle, то почему бы ему на бесплатной версией оного и не остановиться?
← →
Pit (2013-03-26 14:43) [58]Неужто никто не работал со сфинксом? (
← →
O'ShinW © (2013-03-26 17:09) [59]
> Неужто никто не работал со сфинксом?
У нас работали. Только программист ушел
Там, по-моему, не так что налету все. А есть типа джоба, который строит рядом еще таблицу, со своими, ему только понятными, индексами, по которым и ищет.
После апдейта полей еще какое-то время находит старые значения. Но, зато, _Очень_ быстро :)
← →
O'ShinW © (2013-03-26 17:29) [60]и да, я за MSSQL :)
← →
Pit (2013-03-26 17:54) [61]ага...
То есть, чтобы прикрутить сфинкс к Firebird, то надо сделать как-то так:
- поставить сфинкс, вместе с ним поставить что-то типа MySQL
- из триггера FB как-то синхронизировать нужную информацию в MySQL
- сам сфинкс по джобу построит свои индексы
- при поиске нужно делать запрос в сфинкс, он вернет какую-то коррелирующую ID, по которой уже можно работать в исходной FB?
← →
Inovet © (2013-03-26 18:04) [62]> [61] Pit (26.03.13 17:54)
Почему сразу к ФБ нельзя?
← →
Pit (2013-03-26 18:38) [63]
> Почему сразу к ФБ нельзя?
что нельзя сразу к ФБ?
← →
Inovet © (2013-03-26 18:42) [64]> [63] Pit (26.03.13 18:38)
Сфинкс к ФБ прикрутить.
← →
Pit (2013-03-26 19:08) [65]
> Сфинкс к ФБ прикрутить.
а как?
← →
Inovet © (2013-03-26 19:21) [66]> [65] Pit (26.03.13 19:08)
Я про Сфинкс не знаю, как он устроен. Пишут, что можно к любым БД подключать через ODBC. В ФБ в свою очередь есть возможность подключать любые обработки через механизм внешних процедур (или как они там называются, забыл) в DLL. Т.е. если Сфинкс через драйверы почему-то не хочется подключать, так можно через его API и обёрку над ним в DLL подключить напрямую к ФБ. Как-то так.
← →
Pit (2013-03-26 19:28) [67]Inovet, я вот нихрена не понял. А ты я так понял объяснить не сможешь.
Мы сейчас как о сферическом коне в вакууме разговариваем, о технологии с которой никто не работал (
← →
Inovet © (2013-03-26 19:37) [68]> [67] Pit (26.03.13 19:28)
Что именно не понятно? Я говорю, что не надо MySQL лепить, хоть он и нативный в Сфинксе. Зачем, если можно сразу в ФБ всё делать. Причём мне видится даже два пути, как это можно делать. Ну а дальше уже Сфинкс надо смотреть на предмет какой способ лучше, а может и сочетание их.
← →
Pit (2013-03-26 23:24) [69]Inovet, давай так.
Если ты знаешь как сфинкса интегрировать с FB - расскажи, пожалуйста. Мне как раз это и очень интересно.
← →
Inovet © (2013-03-27 06:00) [70]> [69] Pit (26.03.13 23:24)
Я Сфинкс знать не знаю. Есть общие принципы из них и исхожу. Третий раз - у Сфинкса есть API и есть возможность работы с базами данных через драйверы ODBC (и два нативных, они нас не интересуют), у ФБ есть возможность подключить DLL с набором чего угодно, User Defined Functions это называется, в которых и обращайся к Сфинксу. Готового решения никто здесь пока не предложил. Чтобы ответить насколько это сложно или просто, надо знать устройство этого Сфинкса. Предлагаешь мне разобраться в этом вопросе?
Ты сам со Сфинксом работал? Почему ты в [61] решил какой-то MySQL c боку прикручивать? Потому что он нативно поддерживается Сфинксом? Так это кривое, имхо, решение. Тебе один фиг придётся делать DLL теперь уже для работы с MySQL, из ФБ никак иначе ты наружу не получишь доступ. Или есть какие-то другие причины, кроме нативности, его прикручивать?
Так понятнее?
← →
sniknik © (2013-03-27 09:47) [71]все что "сбоку" нафиг... ИМХО. вот зачем сфинкс? почему тогда не взять Firebird/MySQL/... и вместо него в качестве "полнотекстового поисковика" не прикрутить MSSQL?
не замечаете некоторой абсурдности ситуации? особенно делать это в поиске "легкого" в любом смысле решения....
← →
O'ShinW © (2013-03-27 10:24) [72]
> почему тогда не взять Firebird/MySQL/... и вместо него в
> качестве "полнотекстового поисковика" не прикрутить MSSQL?
Сфинкс ищет очень быстро.
Сначала ему скармливаются айдишники и поля, содержащие текст. Таким образом, в нем появляется индекс. Он строит по нему свои таблицы(условно). Т.е. при этом появляются некие файлы, скорее всего с суперизбыточной информацией, потому что очень большие. Бывает, на порядок.
Как оно работает конкретно - не известно. За это и денег хотят (деньги - если корпорация берет, для частников, вроде, бесплатно).
Короче, скорость.
т.е. текстовый поиск по охренительному объёму - долю секунды.
Часто ответ готов уже между нажатиями клавиш оператором. И почти всегда, если приостановится в наборе.
Да, так работает одно подразделение Яндекса (там этот наш программист, который ушел, трудится сейчас)
← →
sniknik © (2013-03-27 11:20) [73]> Сфинкс ищет очень быстро.
MSSQL наверняка тоже... и принципы работы (индекс/избыточность) те же, методы различаются...
в общем, что это меняет? почему одно, за деньги, приемлемо, другое нет?
> Короче, скорость
да без разницы, есть индекс (а он и там и там) есть скорость...
и что?
абсурд не в том, как это работает, плохо, хорошо, замечательно или нет. абсурд ища "легкое" решение брать базу ничуть не легче аналога и начинать ее обвешивать функциональными "дополнениями" (уже существующим в "тяжёлом", как с чего то решили, варианте). причем само дополнение ничуть не легче обоих баз вместе и по отдельности... нонсенс.
← →
Inovet © (2013-03-27 11:28) [74]Вот ещё, это не рекомендация, а просто для информации. В ADS тоже есть FTS. Какой он там не могу сказать - не пробовал за ненадобностью. Но сервер платный, а локальный доступ бесплатный при условии, что не используется для middle-tired доступа.
http://devzone.advantagedatabase.com
← →
Ega23 © (2013-03-27 11:52) [75]
> MSSQL наверняка тоже... и принципы работы (индекс/избыточность)
> те же, методы различаются...
> в общем, что это меняет? почему одно, за деньги, приемлемо,
> другое нет?
Есть мнение, что сфинкс мобильнее сиквеля. И дешевле, чем адвансед-конфигурация.
Не более.
← →
O'ShinW © (2013-03-27 11:56) [76]
> sniknik © (27.03.13 11:20) [73]
да без разницы, есть индекс (а он и там и там) есть скорость...
Сфинкс ищет быстрее, чем mssql. В этом разница :)
Наверное, индексирует немного по-другому. Более избыточно. Там явно больше доп. файлы, чем в mssql на индекс уходит.
А минус - не онлайн. Как говорил, меняется индекс этот с периодичностью. Т.е. иногда находит уже несуществующие данные. Это точно заметили при update. при insert|delete замечено не было, но в инете находили, что и такие случаи были замечены.
Потом в Сфинкс вложили падежи, произношение, еще что-то, что MSSQL работает только для латинского
← →
Romkin © (2013-03-27 12:20) [77]
> Если ты знаешь как сфинкса интегрировать с FB - расскажи,
> пожалуйста. Мне как раз это и очень интересно.
http://www.firebirdsql.org/en/other-downloads/
During the summer, Vlad Khorsun and Pierre Yager made a patch for Sphinx, to have it support Firebird. Now, with the blessing of its author, Andrew Aksyonoff, they want to make their patch and Windows binaries publicly available for you to try out.
← →
sniknik © (2013-03-27 12:45) [78]> Сфинкс ищет быстрее, чем mssql. В этом разница :)
???
проверенная информация? методы проверки? может проверяющие "слукавили" и проверяли реальный "организованный" полнотекстовый поиск в сфинксе, с просто поиском... т.е. перебор с просмотром блоб (... WHERE xxx LIKE "%yyy%") который MSSQL позволяет, но это не делает его "полнотекстовым".
> Потом в Сфинкс вложили падежи, произношение, еще что-то, что MSSQL работает только для латинского
о, а вот это уже аргумент. если правда. и если это нужно автору. в "критериях" ([0]) он этого не написал.
← →
O'ShinW © (2013-03-27 13:11) [79]
> проверенная информация?
нет.
мне так сказали :) Проверяли те, кто уже ушел.
Что mssql при полнотекстовом ищет очень круто - знаю, проверял.
Но там нет падежей и т.п.
Что можно, конечно, добить udf какими-нибудь, но тут это уже все готово
> в "критериях" ([0]) он этого не написал.
это да
эт потом уже перешел, плавно :)
← →
Pit (2013-03-27 15:26) [80]sniknik, все просто. Потому что сфинкс - общепризнанное очень крутое решение для полнотекстового поиска. Оно специально заточено именно под эту задачу и открытых конкурентов у него как-то вообще почти и нет.
Может быть, не исключено, что вдруг и в MS SQL полнотекстовый поиск ничуть не хуже, а очень даже лучше и быстрее работает. Но верится очень, очень слабо.
Я видел традиционные БД, куда навесили как плюшки полнотекстовый поиск, например postgress. Работает, да. Но есть претензии и к качеству поиска, и совсем большие претензии к ресурсоемкости поиска. А на сфинксе тот же самый хабр работает (поиск) и так с виду похоже, что работает хорошо.
Это все вилами писано - да. Но я пока в парадигме, что узко заточенное решение (причем, признанное в мире) в виде сфинкса уделает решение от MS, которые просто встроили полнотекстовый поиск как одну из фич в свою БД.
Если у тебя есть аргументы какие-то против - выкладывай, я послушаю с удовольствием.
P.S. Например, я не слышал ни об одной крупной нагруженной системе, задача которой была бы в осуществлении полнотекстового поиска и она была бы реализована на MS SQL.
Страницы: 1 2 3 вся ветка
Текущий архив: 2013.09.01;
Скачать: CL | DM;
Память: 0.65 MB
Время: 0.009 c