Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26113
Рейтинг: 2126
#91: 2010-09-23 23:49:32 ЛС | профиль | цитата
Alexbootch писал(а):
то можно собрать на максимальное быстродействие c большими базами данных

А нельзя ли такую версию у тебя скромно попросить, но только объектную
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#92: 2010-09-23 23:50:37 ЛС | профиль | цитата
Alexbootch писал(а):
Tad, харе прикалываться
Не прикалываюсь я.
Если я подниму вопрос, то его обязательно (из принципа) закопают.
Жалко будет.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1891
Рейтинг: 110
#93: 2010-09-24 00:06:08 ЛС | профиль | цитата
nesco писал(а):
Увы, Alexbootch, версия 3.7.2 показала отвратительные результаты по мультидоступу к базе на чтение, вплоть, до катастрофического зависания основного
Тестировалось одно приложение на регулярную запись и до трех приложений на чтение этой базы. Результаты отвратительные, пришлось откатить на 3.4.2, которая работает прекрасно в таком режиме уже больше двух лет ничего не меня в запросах


nesco, а ты ключи смотрел:

NABLE_COLUMN_METADATA
-DSQLITE_ENABLE_STAT2
-DSQLITE_DEFAULT_RECURSIVE_TRIGGERS=1
-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS
-DSQLITE_ENABLE_RTREE
-DSQLITE_ENABLE_ICU
-DSQLITE_DEFAULT_PAGE_SIZE=8192
-DSQLITE_DEFAULT_CACHE_SIZE=8000
-DSQLITE_DEFAULT_TEMP_CACHE_SIZE=2000
-DSQLITE_DEFAULT_FILE_FORMAT=4
-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576
-DSQLITE_THREADSAFE=1
-DSQLITE_ENABLE_LOAD_EXTENSION=1

Нету там мильтидоступа. Для включения многопоточности sqlite надо собирать с ключем -DSQLITE_THREADSAFE=2. Кто же рассчитывал, что ты будешь так использовать базу данных

карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#94: 2010-09-24 00:17:45 ЛС | профиль | цитата
Alexbootch писал(а):
По объектной попробую сделать, но результата не гарантирую

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

0
Ответов: 16884
Рейтинг: 1239
#95: 2010-09-24 00:20:22 ЛС | профиль | цитата
Alexbootch писал(а):
-DSQLITE_DEFAULT_PAGE_SIZE=8192
-DSQLITE_DEFAULT_CACHE_SIZE=8000
Обоснуй. Обычно PAGE_SIZE < CACHE_SIZE раза в 1.5

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#96: 2010-09-24 00:22:20 ЛС | профиль | цитата
Tad писал(а):
Обычно PAGE_SIZE < CACHE_SIZE раза в 1.5

И почему не гранулированный Не комильфо выделять не кратную память
карма: 22

0
Ответов: 1891
Рейтинг: 110
#97: 2010-09-24 00:31:13 ЛС | профиль | цитата
Для PostgreSQL, MS SQL и других популярных СУБД размер страницы 8к. По тестам разработчиков, использующих чуть ли не терабайтные базы данных - для эскулайт оптимален этот же размер, скорость работы с диском утраивается по сравнению с дефолтовой страницей 1к. Для sqlite умолчания ориентированы традиционно для embedded устройств.

Что касается размера кэша, увеличив в 8 раз размер страницы, мы во столько же раз увеличили размер кэша. По умолчанию 2000 страниц, считая 8к каждая, получится 16 Мб кэш. Но и этого мало. Для десктопа оптимально 64Мб, т.е. размер кэша равен 8000 страниц.
карма: 0
%time%
0
Ответов: 16884
Рейтинг: 1239
#98: 2010-09-24 00:58:02 ЛС | профиль | цитата
Alexbootch писал(а):
По тестам разработчиков, использующих чуть ли не терабайтные базы данных
да не используем мы в HiAsm терабайтные базы данных.
------------ Дoбавленo в 00.58:
nesco писал(а):
И почему не гранулированный
это образно. Вообще-то сравнивать нельзя - там байты, а там страницы.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1891
Рейтинг: 110
#99: 2010-09-24 01:05:20 ЛС | профиль | цитата
Tad, писал(а):
да не используем мы в HiAsm терабайтные базы данных.


Tad, не принимай все так близко к сердцу это написано лишь для примера
карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#100: 2010-09-24 01:11:55 ЛС | профиль | цитата
Tad писал(а):
Вообще-то сравнивать нельзя - там байты, а там страницы

Тогда, понятно
карма: 22

0
Ответов: 1891
Рейтинг: 110
#101: 2010-09-24 01:56:01 ЛС | профиль | цитата
nesco писал(а):
Ты попробуй, вдруг, получится нормально


Вот пробуйте. Собрано без ключа SQLITE_ENABLE_ICU, т.к. там дополнительно нужно подключать библиотеки ICU и без ключа SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT, т.к. по-умолчанию нет ограничения на размер журнала
карма: 0
%time%
0
файлы: 1optimal_sqlite3obj.rar [202.2KB] [391]
Разработчик
Ответов: 26113
Рейтинг: 2126
#102: 2010-09-24 02:14:38 ЛС | профиль | цитата
А че размер больше стал
------------ Дoбавленo в 02.14:
А поддержка fts3 и сторонних библиотек осталась
карма: 22

0
Ответов: 1891
Рейтинг: 110
#103: 2010-09-24 02:16:09 ЛС | профиль | цитата
nesco писал(а):
А че размер больше стал


Потому что были подключены дополнительные ключи и, следовательно, при компиляции добавилось часть кода, ранее не используемого.
------------ Дoбавленo в 02.16:
nesco писал(а):
А поддержка fts3 и сторонних библиотек осталась


Осталась. Можешь посмотреть

#sql
PRAGMA compile_options;
карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#104: 2010-09-24 02:18:52 ЛС | профиль | цитата
В принципе, работает
------------ Дoбавленo в 02.18:
Да, а в чем заключается оптимизация
карма: 22

0
Ответов: 1891
Рейтинг: 110
#105: 2010-09-24 02:20:23 ЛС | профиль | цитата
nesco писал(а):
В принципе, работает


Ну вот вроде все и запихали, кроме шифрования и ICU

nesco писал(а):
Да, а в чем заключается оптимизация


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

Все я спать...
карма: 0
%time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)