|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Кто что скажет про производительность сабжевых БД в роли ОЛТП сервера. В частности, планируется использовать её для хранения истории биллинга. Т.е. постоянно будет только поступать информация и проводится простейшее суммирование значений. В данный момент база находится на Oracle 10g. Посоветовали эти СУБД, как более шустрые на элементарных операциях к базе большого объёма (INSERT, UPDATE). Если есть варианты лучше - выслушаю с превеликим удовольствием. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2008, 17:30 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Плюнь в того кто тебе это посоветовал. SQLite это встраиваемая база. Для микро задач. Вот недельную-месячную историю продаж на ней хранить запросто. Запихнуть ее в кассовый терминал для хранения чеков - идеально. Заменять ею большую базу - идиотизм. GigaBASE сам не щупал, но судя по описанию - так себе. Любительская поделка. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2008, 17:42 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Чем можно сконвертнуть данные из Access 2002 в Sqlite? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2008, 18:12 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
White OwlПлюнь в того кто тебе это посоветовал. SQLite это встраиваемая база. Для микро задач. Вот недельную-месячную историю продаж на ней хранить запросто. Запихнуть ее в кассовый терминал для хранения чеков - идеально. Заменять ею большую базу - идиотизм. GigaBASE сам не щупал, но судя по описанию - так себе. Любительская поделка. Спасибо за ответ, но судя по всему придется проводить стресс-тест этих СУБДшек. Если интересует, то потом отпишусь о результатах... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2008, 01:55 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Отпишите. -- ~PPA() {} // ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2008, 18:57 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
White OwlПлюнь в того кто тебе это посоветовал. SQLite это встраиваемая база. Для микро задач. Вот недельную-месячную историю продаж на ней хранить запросто. Запихнуть ее в кассовый терминал для хранения чеков - идеально. Заменять ею большую базу - идиотизм. SQLite на средних базах данных (до 100 гиг) отлично себе работает. В биллинге необходимо разделить данные по месяцам и при построении отчетов attach-ть нужные базы. Ну, если у вас за месяц набегает более 100 гиг данных, придется еще что-то придумать. P.S. Сказанное относится к ФС ext3 и грамотно настроенной базе. Про fat, ntfs и прочие поделия ничего сказать не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2008, 12:37 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
MBG White OwlПлюнь в того кто тебе это посоветовал. SQLite это встраиваемая база. Для микро задач. Вот недельную-месячную историю продаж на ней хранить запросто. Запихнуть ее в кассовый терминал для хранения чеков - идеально. Заменять ею большую базу - идиотизм. SQLite на средних базах данных (до 100 гиг) отлично себе работает. В биллинге необходимо разделить данные по месяцам и при построении отчетов attach-ть нужные базы. Ну, если у вас за месяц набегает более 100 гиг данных, придется еще что-то придумать. P.S. Сказанное относится к ФС ext3 и грамотно настроенной базе. Про fat, ntfs и прочие поделия ничего сказать не могу. Угу угу. Только вот SQLite (по крайней мере та версия шо я гонял) создает по файлу на каждую транзакцию. Создает и удаляет, создает и удаляет Ну и для кучи, БД на любой DML блокирувается ексклюзивна :) Забавно будет посмотреть ЭТО в биллинге. Про GigaBase врать не буду, но еенная сестренка FastDB тоже очень смешная :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2008, 09:07 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Только вот SQLite (по крайней мере та версия шо я гонял) создает по файлу на каждую транзакцию. Создает и удаляет, создает и удаляет Ну и для кучи, БД на любой DML блокирувается ексклюзивна :) Забавно будет посмотреть ЭТО в биллинге. И чем вам этот файл так не нравится? Операционная система, веб-сервер и, к примеру, постгрес тоже много чего создают и удаляют, просто вы об этом не догадываетесь. В последнем вот только недавно проматывание счетчика транзакций на читающих транзакциях устранили. Кроме того, в эскулайте можно выбрать режим persist, в котором этот файл не удаляется. Не нужна вам целостность базы при аварийном отключении сервера - можете вообще отказаться от использования файла журнала, в скорости существенно выиграете. Блокировка базы имеет свои преимущества - на SATA-дисках много эффективнее записывать на диск в одном процессе, так что эскулайт на таких дисках дает очень высокую производительность. Версионные СУБД на SATA при сотне-другой транзакций в секунду упираются в производительность дисков. Эскулайт, при полной блокировке базы, в единицу времени больше транзакций выполняет. И зачем вам DML в больших количествах в биллинге - может, просто термин нравится? :-) Кстати, на многоядерных серверах эскулайт линейно масштабируется - если вам это о чем-то говорит. А для обработки блокировок мьютексы используются - вы не поверите, но это стандартный подход, и другие СУБД тоже не обходятся без обработки блокировок. Также и жесткий диск для чтения/записи должен позиционировать головки, да еще и дубли записанной информации создать, да еще проверить корректность записи... так что видимость одновременной записи множеством потоков создается контроллером диска и в софте это стоит учитывать. Да, сразу добавлю - разрабатывать на эскулайте сложнее, следует учесть многое из того, что в других СУБД уже сделано в движке, но в результате эффективность системы при отсутствии администрирования окупают затраты на разработку. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2008, 11:52 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
MBGДа, сразу добавлю - разрабатывать на эскулайте сложнее, следует учесть многое из того, что в других СУБД уже сделано в движке , но в результате эффективность системы при отсутствии администрирования окупают затраты на разработку. Если не трудно, в хотябы крадце, о каких нюансах идет речь? Ибо сам в ближайшее время собираюсь активно использовать sqlite. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2008, 03:46 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
MBGИ чем вам этот файл так не нравится? Да в общем-то всем нравится :) только при частой фиксации транзакций (что для биллинга характерно), постоянное создание/удаление файла просаживает производительность на столько, что SQLite в основном занимается только этим Производительность падает на порядки. Можно конечно сделать транзакции подлинее, но тогда в полный рост втсает второй фактор ;) MBG Операционная система, веб-сервер и, к примеру, постгрес тоже много чего создают и удаляют, Дык СУБД тем и отличается от файловой системы, что старается эти вещи оптимизировать. А фиксация транзакций - бутылочное горло для любой известной мне РСУБД :( Например Oracle ничего не создает и не удаляет, а перезаписывает поверх старого REDO. И уж разумеется не занимается маразмом с созданием удалением файла на каждом commit-е Кстати, а чего там Postgress постоянно создает/удаляет ? Удивите меня MBG просто вы об этом не догадываетесь. ага ;) MBG В последнем вот только недавно проматывание счетчика транзакций на читающих транзакциях устранили. В SQLite ? А Вы твердо уверены, что сие есть Бобро, а не уродливый костыль ??? MBG Кроме того, в эскулайте можно выбрать режим persist, в котором этот файл не удаляется. Не нужна вам целостность базы при аварийном отключении сервера - можете вообще отказаться от использования файла журнала, в скорости существенно выиграете. Ага, конечно. Зачем нам целостность та ? Вот persist конечно несколько более умно, надо посмотреть на досуге MBG Блокировка базы имеет свои преимущества - на SATA-дисках много эффективнее записывать на диск в одном процессе, так что эскулайт на таких дисках дает очень высокую производительность. И свои недостатки :) Два DML не могут выполняться одновременно Т.е. все DML-и выстраиваются в очередь. Для производительности исключительно полезно MBG Версионные СУБД на SATA при сотне-другой транзакций в секунду упираются в производительность дисков. Эскулайт, при полной блокировке базы, в единицу времени больше транзакций выполняет. Проводили тестирование ? С чем сравнивали ? Oracle, Postgress, IB, MS SQL 2005 ??? С небольшим приложением в виде результатов тестирования, заявление звучало бы менее голословно ;) Кстати, дабы исключить влияние механизмов версионности, возможно разумнее сравнивать блокировочники с блокировочниками ??? MBG И зачем вам DML в больших количествах в биллинге - может, просто термин нравится? :-) Ага, нравится :) Только ими можно сказать и занимаюсь Очень интересно, посмотреть на биллинг БЕЗ insert-ов и update-ов Кстати, под биллингом я имею в виду Internet. Телефонный тоже можно, если он поддеживает prepaid MBG Кстати, на многоядерных серверах эскулайт линейно масштабируется - если вам это о чем-то говорит. Как только чем нибудь подкрепите свои слова, сразу же скажет. Не в первый раз уж слышу сказки про линейную масштабируемость, да только видеть ее никогда не доводилось :( Кстати, количество процессоров далеко не самый главный фактор в производительности СУБД MBG А для обработки блокировок мьютексы используются - вы не поверите, но это стандартный подход, и другие СУБД тоже не обходятся без обработки блокировок. Также и жесткий диск для чтения/записи должен позиционировать головки, да еще и дубли записанной информации создать, да еще проверить корректность записи... так что видимость одновременной записи множеством потоков создается контроллером диска и в софте это стоит учитывать. Да Вы шо o O Может просто сравним цифры ??? MBG Да, сразу добавлю - разрабатывать на эскулайте сложнее, следует учесть многое из того, что в других СУБД уже сделано в движке, но в результате эффективность системы при отсутствии администрирования окупают затраты на разработку. Не скрою (с) к нулевому администрированию SQLite ближе чем Oracle Если бы она еще и работатала ... Собственно я не хочу сказать, что SQLite это плохо. У нее есть своя ниша (Web, CD-справочники), но биллинг ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2008, 08:13 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Gluk (Kazan)... Насчет проматывания счетчика транзакций - это в постгресе, разумеется, в блокировочнике такого отродясь не бывает. Создание временных файлов постгрес любит, посмотрете его механизм работы с временными таблицами/видами/индексами... Просто вы не знаете о работе СУБД, и полагаете, что эскулайт делает лишние операции, а остальные "святым духом" работают. Для поддержания целостности данных все СУБД делают примерно одно и то же, разница собственно только между блокировочниками и версионниками. Ну и в СУБД типа оракла и постгреса базовый код довольно давно написан, что тоже плохо. Удаление файла под линуксом операция не затратная, так что эскулайт может себе это позволить, как и постгрес (см. выше). Ну, для недоделанных ФС есть режим persist. Сравнивал с постгресом - требования оракла к железу кажутся мне фантастически завышенными, ну а эмэсэскуэль мало того что проприетарный, так еще и не работает на линуксе или соляре, так что явно не вариант. Цифры для сравнения можете поискать в инете, мои результаты показывают ускорение до 60х при переходе с постгреса на эскулайт (понятно, архитектуру тоже менял, благо в эскулайте есть возможность подключать другие базы к текущей, да еще и данные хранятся раз так в 5 компактнее). Кстати, в постгресе были применены в т.ч. и нетривиальные методы оптимизации, см. http://postgrestips.blogspot.com/2007/06/blog-post.html И тем не менее, после достижения порога производительности в постгресе удалось получить огромный выигрыш на эскулайт. Задачка, кстати, связана с аналихзом больших выборок (несколько гигабайт данных в одном запросе - такая бизнес-специфика). Насчет DML - вы серьезно считаете, что в биллинге вам так и нужны тысячи и более записей в секунду? Данные пакетно сбрасываются с коллекторов, если посчитаете, то телефонный биллинг на 10 миллинов звонков в месяц создает не слишком большую нагрузку - в месяце около 2,5 миллиона секунд, так что это получится в среднем 4 звонка в секунду, нагрузка в пике зависит от характеристик вашей системы, но не более чем на два порядка превзойдет среднюю, т.е. до 400 звонков в секунду. Если данные аккумулировать на коллекторах и сбрасывать, например, раз в секунду, то это будет 1 пакетная в ставка в секунду (продолжительностью несколько миллисекунд). Чего пугаетесь? Про масштабируемость - при запуске N экземпляров программы на N процессоров/ядер масштабируемость и в самом деле хороша, что вас тут удивляет? В своем движке создаете пул процессов эскулайт и получаете хорошую производительность на многоядернике, в отличие от клиент-серверов, где все зависит от их создателей и проблемы масштабируемости до сих пор не решены до конца. Можно написать нечто аналогичное мускулю на эскулайт, но нельзя добиться от мускуля реализации возможностей эскулайт, так что эскулайт более эффективный движок. Интересно, вы яву считаете примитивным микроязыком, раз на ней можно делать мидлеты для сотовых телефонов?.. Пора бы осознать, что встраиваемые решения зачастую превосходят своих созданных в серверной отрасли коллег. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2008, 10:22 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
BION MBGДа, сразу добавлю - разрабатывать на эскулайте сложнее, следует учесть многое из того, что в других СУБД уже сделано в движке , но в результате эффективность системы при отсутствии администрирования окупают затраты на разработку. Если не трудно, в хотябы крадце, о каких нюансах идет речь? Ибо сам в ближайшее время собираюсь активно использовать sqlite. См. оффсайт и рассылку sqlite-users. Вкратце - работая с эскулайт, надо иметь более высокую грамотность, чем при работе с монстрами СУБД, которые зачастую представляют "вещь в себе". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2008, 10:25 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Как я уже говорил выше, я не считаю SQLite "плохой" СУБД. Более того, я считаю ее лучшей в классе встраиваемых СУБД, поддерживающих SQL и поставляемых в открытых исходных кодах. Речь, таким образом идет о том, что она могла бы быть (и вероятно будет) ГОРАЗДО лучше, если избавится от некоторых детских болезней (разумеется все сказанное исключительно IMHO). Ниже приводятся данные о производительности SQLite в зависимости от частоты фиксации транзакций (исходные тексты теста прилагаются) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Столь существенное снижение производительности (почти в 300 раз), вызвано ИСКЛЮЧИТЕЛЬНО неудачным (и легко исправляемым) архитектурным решением - ведением отдельного (не особенно при том лаконичного) ФАЙЛА журнала на каждую выполняемую транзакцию. Отговорки на тему дешевизны операций создания/удаления файла в *nix-системах не выглядят убедительными, когда речь идет о СУБД, одним из достоинств которой является кроссплатформенность. Когда речь заходит об относительно легко устраняемом архитектурном дефекте, советы поставить "правильную" операционную систему (а при невозможности этого, отказаться от целостности данных) выглядят несколько странно. Кроме того, сколь бы не дешева была операция, она никак не дешевле чем ее НЕ выполнение. Зачем тратить время на то, чего делать не нужно ??? Ни одна из известных мне СУБД (включая упоминавшийся здесь Postgress) не занимается созданием/удалением файлов в рамках выполнения фиксации/отката транзакции. Думаю, что глупо спорить с тем, что ничем не оправданная идея сделать бутылочное горло записи REDO еще более узким исключительно НЕУДАЧНА. Ситуация с монопольным блокированием БД при выполнении DML, разумеется менее однозначна. Более того, для Embedded БД такое решение более чем разумно. Действительно, зачем тратить ресурсы на блокировки уровня строк, если БД используется в однопользовательском режиме? Такие СУБД как TimesTen например, поддерживают режимы монопольного блокирования БД не только при выполнении DML, но и на время ЛЮБОЙ незавершенной транзакции (в том числе состоящей только из операций чтения). Но это именно режимы, а не единственно возможное поведение. И эти режимы практически непригодны для многопользовательской работы (клановые мантры о необходимости гораздо большей квалификации при работе с SQLite чем при работе с Oracle, прошу также оставить в стороне. ЛЮБАЯ работа требует высокой квалификации и профессионализма). Другой причиной неудобства этого режима (не очень существенной для Embedded, но вполне весомой для OLTP) является теоретическая невозможность горизонтального масштабирования (увеличением количества потоков) БД, работающей в таком режиме. Для меня было приятным сюрпризом узнать, что TimesTen (к примеру), в рамках разумного количества потоков (до 10) масштабируется вполне линейно (разумеется не столь ощутимо как Oracle). Разумеется, TimesTen СОВЕРШЕННО не масштабируется в режиме монопольного блокирования БД :) Пикантность ситуации с SQLite добавляет то, что по всей видимости (помимо прочего) необходимость монопольного блокирования БД, при выполнении DML напрямую связана с пионерским (в смысле передовым конечно ;) ) решением ведения отдельного файла на каждую транзакцию. Впрочем, это всего лишь моя теория. Таким образом, я не веду речь о том, достаточна или нет производительность SQLite для некоего сферического биллингового приложения (хотя и считаю, что с учетом озвученных ранее цифр совершенно недостаточна для средненького Internet-биллинга или биллинга сотовой телефонии). Биллинг биллингу рознь, и почему бы не использовать SQLite в биллинге проводной телефонии, с оказанием исключительно postpaid-услуг? Разумеется, зайди речь о выборе для такого применения SQLite vs Gigabase, мои предпочтения (по ряду причин) оказались бы на стороне первой. Но ее производительность могла бы быть еще лучше. И кому от этого было бы плохо? P.S. Кстати, как связано устранение проматывания счетчика в Postgress с созданием/удалением файлов ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 08:08 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Gluk (Kazan)... Странная у вас таблица. Эскулайт в секунду в 1-й транзакции выполняет около 50 000 операций insert в секунду, а у вас - несколько тысяч предел. То, что вы говорите про архитектуру эскулайт, не соответствует действительности. Проверьте работу с прагмой PRAGMA journal_mode = PERSIST; и увидите, что операция создания и последующего удаления файла журнала мало отличается по производительности от работы с постоянным файлом журнала (по крайней мере, на ext3). Какой смысл критиковать поведение программы, которое зависит от ваших настроек?.. Хотите постоянный журнал - пользуйтесь, в чем вопрос-то. Резкое снижение производительности в режиме autocommit вызвано отнюдь не операциями создания/удаления журнала, а операцией сброса дискового буфера на диск для гарантированнной фиксации изменений - при сбое питания или ПО все закоммиченные данные наверняка будут целы (если конечно не слетит ФС, или не "умрет" дисковая система). Запустите ваш тест с прагмой PRAGMA synchronous = OFF; и убедитесь, что без такой гарантии целостности операции записи выполняются примерно в 50 - 100 раз быстрее. Далее, не нравится вам, что при записи блокируются операции чтения - используйте прагму PRAGMA read_uncommitted = 1; при которой можно одновременно и писать и читать. Я не зря говорил про необходимую квалификацию - не надо гадать, надо знать. С учетом озвученных выше замечаний, производительности вполне хватает для большинства применений. Еще замечу, что ваш тестовый пример плох - более адекватным будет использование ANSI C кода и компилятора GCC. Всякие вижуальные среды используют множество настроек оптимизации и проч., что приводит к непредсказуемым последствиям. При использовании GCC все ваши опции будут заданы как аргументы в командной строке, а в вашем примере настройки частично находятся в файле проекта в неудобочитаемом виде, а частично - в менюшках вашей вижуал студии или что у вас там. В рассылке эскулайт пользователи периодически жалуются на проблемы с эскулайт, скомпиленным в вижуал студии, после чего им советуют для начала сбросить все флаги оптимизации. P.S. В постгресе проматывание счетчика связано с операциями записи в буфера ОЗУ и на диск, что весьма неприятно и на нагруженной системе приводит к высокой нагрузке на дисковую подсистему, при этом создается больший объем и соответственно большее количество файлов журнала (при сотнях транзакций в секунду это ощутимо). Специально для этой операции файлы не создаются, насколько мне известно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 11:19 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
MBG ... правильные системы, правильные компиляторы, сакральные знания + с потолка взятые 50000 Все как обычно ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 12:27 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Gluk (Kazan) MBG ... правильные системы, правильные компиляторы, сакральные знания + с потолка взятые 50000 Все как обычно Мне казалось это тривиальным, но могу и объяснить. Итак, 100 000 вставок в таблицу с триггером за 2 секунды (сами поделите первое число на второе? если что, см. мой предыдущий пост): Код: plaintext 1. 2. 3. 4. 5.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Вот такой проц на тестовой машинке: Код: plaintext 1. 2. 3. 4. 5.
Выбран тест, не зависящий от жесткого диска, впрочем, результаты в одной транзакции для базы на диске практически идентичны. Насчет компилятора - результаты теста должны быть воспроизводимы. GCC позволяет воспроизвести тест на любой другой машине, вижуал среды - нет. Причины я объяснил в предыдущем посте. Насчет файловой системы - знать особенности используемой ФС полезно, а иногда и необходимо. Я пользуюсь ext3 и учитываю ее особенности. Если вы не знаете, как работает ваша ФС, это ваши проблемы. Если вы не знаете размер кластера вашей ФС, то у вас почти любая СУБД будет работать неэффективно. Постом ранее я вам привел набор полезных для повышения эффективности работы базы директив с пояснениями. Если вы хотите разобраться, то попробуете сами. Если нет - не отнимайте время у себя и других людей. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 14:26 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
MBGВыбран тест, не зависящий от жесткого диска, впрочем, результаты в одной транзакции для базы на диске практически идентичны. Ясен перец :) а теперь сделай транзакции поменьше, чтобы на OLTP было похоже, а не на заливку CDR-а ;) MBG Насчет компилятора - результаты теста должны быть воспроизводимы. GCC позволяет воспроизвести тест на любой другой машине, вижуал среды - нет. Причины я объяснил в предыдущем посте. Насчет файловой системы - знать особенности используемой ФС полезно, а иногда и необходимо. Я пользуюсь ext3 и учитываю ее особенности. Если вы не знаете, как работает ваша ФС, это ваши проблемы. Если вы не знаете размер кластера вашей ФС, то у вас почти любая СУБД будет работать неэффективно. Постом ранее я вам привел набор полезных для повышения эффективности работы базы директив с пояснениями. Если вы хотите разобраться, то попробуете сами. Если нет - не отнимайте время у себя и других людей. Все это прекрасно и замечательно, но передо мной ставилась задача определить кто из Embedded/IMDB быстрее на Windows из под MSVC :) Задача выбора правильной ОС не стояла. Есть мысли, что улучшить в МОЕМ коде, чтобы работала пошустрее на Windows ? P.S. Кстати BDB с TimesTen сделали SQLite как стоячую ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 15:02 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
И еще, ДРУГ, мне надоели твои намеки на мои знания/незнания особенностей работы FS, Postgress и т.п. Будь проще ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 15:05 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Gluk (Kazan) Все это прекрасно и замечательно, но передо мной ставилась задача определить кто из Embedded/IMDB быстрее на Windows из под MSVC :) Задача выбора правильной ОС не стояла. Есть мысли, что улучшить в МОЕМ коде, чтобы работала пошустрее на Windows ? А вот такую постановку задачи вы озвучили впервые :-) Я решаю малость иную задачу - какая среда выполнения и архитектура приложения наиболее эффективны для эскулайт. Для клиентов на винде и винмобайл я особых настроек не использовал, разве что использовать постоянный файл журнала и размер страницы памяти выставить 4096 байт (по умолчанию стоит 1024 и это очень мало). У ntfs есть какие-то настройки производительности, покрутите, fat и vfat использовать не стоит. А сервер все же лучше под линуксом делать. Ну, повторяющиеся запросы само собой лучше prepared делать. Если не хотите менять или настраивать ОС и ФС, то остальное зависит больше от архитектуры приложения, тут уж вам должно быть виднее. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 15:22 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
MBGЕсли не хотите менять или настраивать ОС и ФС, то остальное зависит больше от архитектуры приложения, тут уж вам должно быть виднее. Ну то есть фактически: RAID и persist (+ prepared) Как я и думал. На Windows не вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 16:33 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Gluk (Kazan)P.S. Кстати BDB с TimesTen сделали SQLite как стоячую TimesTen делает как стоячих и Oracle и MSSQL :) Другое дело, что область применения у TimesTen существенно уже. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 17:04 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Gluk (Kazan) MBGЕсли не хотите менять или настраивать ОС и ФС, то остальное зависит больше от архитектуры приложения, тут уж вам должно быть виднее. Ну то есть фактически: RAID и persist (+ prepared) Как я и думал. На Windows не вариант При чем тут RAID? Прагму размера страницы укажите при создании базы. Журнал сделать persist тоже можно на любой системе. А запросы надо делать prepared вообще-то к любой базе, это на уровне кода реализуется и от ОС не зависит. Сам использую эскулайт на винмобайл, несколько десятков клиентских инсталляций уже года три как, всем доволен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 17:29 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Grami Gluk (Kazan)P.S. Кстати BDB с TimesTen сделали SQLite как стоячую TimesTen делает как стоячих и Oracle и MSSQL :) Другое дело, что область применения у TimesTen существенно уже. TimesTen это что-то вроде berkeleydb? Тогда уж tokyocabinet смотрите, там на ноуте выходит более миллиона вставок в секунду. Только это совершенно другой класс СУБД. А berkeleydb еще и администрирования требует, что для встраиваемого решения не есть хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 17:34 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
MBG Grami Gluk (Kazan)P.S. Кстати BDB с TimesTen сделали SQLite как стоячую TimesTen делает как стоячих и Oracle и MSSQL :) Другое дело, что область применения у TimesTen существенно уже. TimesTen это что-то вроде berkeleydb? Тогда уж tokyocabinet смотрите, там на ноуте выходит более миллиона вставок в секунду. Только это совершенно другой класс СУБД. А berkeleydb еще и администрирования требует, что для встраиваемого решения не есть хорошо. TimesTen - IMDB. Очень шустрая, но платная. Не Embedded, крутится отдельным сервисом. Очень продуманная, кроссплатформенная. BDB тож ничо, но естественно помедленнее. И то и другое для телекома самое то. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 17:49 |
|
SQLite VS Gigabase
|
|||
---|---|---|---|
#18+
Gluk (Kazan) TimesTen - IMDB. Очень шустрая, но платная. А, я такие даже не рассматриваю. Интересуют только с открытыми исходниками, чтоб допилить в любой момент можно было или хотя бы заглянуть и увидеть что как работает. Когда есть код я могу гарантировать клиентам решение их задач, а с закрытыми решениями все плохо - далеко не все разработчики готовы даже за деньги поправить/доделать что-то, и сам не сделаешь. Для телекома скорее уж mnesia хороша, для того она и создана :-) Но и она кстати для дискового хранения использует берклидб, токиокабинет или эскулайт. Как вариант, использую in-memory hash для хранения очень часто изменяемых данных, а при старте/останове сервера читаю/пишу их в эскулайт базу. Впрочем, это имеет смысл, если одновременно работающих пользователей около полутысячи и более, иначе не стоит и заморачиваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2008, 18:26 |
|
|
start [/forum/topic.php?fid=54&msg=35504983&tid=2009487]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 191ms |
0 / 0 |