The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск SQLite 3.8.7 со значительными оптимизациями производительности

19.10.2014 12:35

Представлен релиз SQLite 3.8.7, легковесной базы данных, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

В новом выпуске:

  • Проведена большая работа по оптимизации производительности, затронувшая многие части кодовой базы. В результате удалось повысить производительность на 20% по сравнению с прошлой версией. Тестирование проводилось с измерением результатов работы нагрузочного сценария "speedtest1.c" через прокси cachegrind в 64-разрядной сборке Ubuntu 13.10 с gcc 4.8.1 и при указании флага оптимизации "-Os". В реальных приложениях увеличение скорости ожидается на уровне 10%. За последний год отмечается большой прогресс в оптимизации кодовой базы SQLite, например по сравнению с выпуском 3.8.0 при выполнении синтетических тестов производительность возросла на 61%.
  • В сортировщик добавлена поддержка использования вспомогательных обработчиков, выполняемых в отдельных нитях, что позволяет добиться сокращения времени отклика при выполнении сложных запросов. По умолчанию данная возможность отключена и включается через PRAGMA threads или через сборку с опцией SQLITE_DEFAULT_WORKER_THREADS. Для ограничения числа нитей следует использовать опцию SQLITE_LIMIT_WORKER_THREADS в sqlite3_limit();
  • Расширены оптимизации пропуска элементов при сканировании (skip-scan), добавлена возможность пропуска записей в середине индекса, а не только в его начальной части;
  • Улучшена производительность операторов преобразования типов;
  • Внесены улучшения в метод использования статистики sqlite_stat4 при планировании выполнения запроса;
  • Добавлены новые программные интерфейсы, оперирующие 64-разрядными значениями: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_result_blob64(), sqlite3_bind_text64() и sqlite3_result_text64();
  • Добавлен новый программный интерфейс sqlite3_msize(), который возвращает размер памяти, выделенной через sqlite3_malloc64() и подобные функции;
  • В расширении spellfix1 представлена возможность явного приведения rowid для каждой операции INSERT.
  • Добавлено новое расширение user-auth, позволяющее обеспечить применение аутентификации пользователей при доступе к БД;
  • Прекращена поддержка опции SQLITE_ENABLE_TREE_EXPLAIN, вместо которой следует использовать механизм трассировки запроса SELECTTRACE, предоставляющий больше диагностических данных;
  • В интерфейс командной строки добавлены новые опции "--pagecache", "--lookaside" и "--scratch" для настройки использования дополнительной памяти.


  1. Главная ссылка к новости (*http://permalink.gmane.org/gm...)
  2. OpenNews: Релиз БД SQLite 3.8.6
  3. OpenNews: Релиз БД SQLite 3.8.0 с новым планировщиком запросов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40865-sqlite
Ключевые слова: sqlite
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (63) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, CrazyAlex25 (ok), 13:01, 19/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +15 +/
    Отличные новости! SQLite одна из самых лучших встраиваемых БД!
     
     
  • 2.4, Аноним (-), 14:22, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Легко быть лучшим при отсутствии конкурентов. В смысле, остальные вообще не занимаются встраиванием SQL баз. Ну разве что sleepycat'овская база, более жирная и вообще странная.
     
     
  • 3.6, angra (ok), 14:45, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    http://en.wikipedia.org/wiki/Embedded_database
     
  • 3.7, CrazyAlex25 (ok), 14:47, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот неполный список встраиваемых БД (возможно половина уже мертва):
    Accuracer Database System
    Advantage Database Server
    Oracle Berkeley DB
    CSQL
    EffiProz
    ElevateDB
    Empress Embedded Database
    Extensible Storage Engine
    eXtremeDB
    Встраиваемая версия Firebird
    HSQLDB
    InfinityDB
    Встраиваемая версия Informix Dynamic Server
    Встраиваемая версия InnoDB
    Встраиваемая версия InterBase
    ITTIA DB
    Kyoto Cabinet
    Встраиваемая версия MySQL Embedded
    NexusDB
    RDM Embedded
    ScimoreDB
    SolidDB
    SQLite
    Microsoft SQL Server Compact
    TurboDB
    Valentina DB
    VistaDB

    То с чем я работал: Sqlite, Mysql embedded, valentina db, Berkeley DB, leveldb, mssql server compact

     
     
  • 4.12, all_glory_to_the_hypnotoad (ok), 17:47, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ещё бы понял что из всего этого реляционные БД c SQL. Ещё потом понял бы насколько остаток реально куда-то впилить без мозготраха с лицензированием и проблем прикручивания блоба. Реальных конкурентов у SQLite действительно нет.
     
     
  • 5.15, sasku (ok), 18:57, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    firebird
    полноценная SQL, и без проблем лицензирования
     
     
  • 6.22, Crazy Alex (ok), 22:26, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    И при надобности можно перескочить на использование полноценного сервера, поменяв лишь параметры подключения
     
  • 4.38, Аноним (-), 10:04, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот неполный список встраиваемых БД (возможно половина уже мертва):

    Молодец, хаотично надергал список наобум, с самыми разными экспонатами. Ну скажи мне, чувак, чего по твоему мнению общего у Microsoft SQL Server Compact и Berkeley DB? Или там какого-нибудь Tokyo Cabinet.

    > То с чем я работал: Sqlite, Mysql embedded, valentina db, Berkeley DB,
    > leveldb, mssql server compact

    Поздравляю. Тогда вдвойне позорно что ты не понимаешь отличий например между простыми и быстрыми базами key-value и полновесным SQL и валишь в одну кучу напрочь разные экспонаты без какой либо классификации и попыток понять насколько то куда они целятся совпадает с нишей на которую заточен скулайт.

     
     
  • 5.79, CrazyAlex25 (ok), 09:29, 23/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Я не спец по БД и незнаю всех тонкостей и различий. Но отличить k-l хранилища от бд вроде могу. Выше я просто написал с чем работал
     
  • 3.50, _yurkis_ (ok), 12:53, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >Легко быть лучшим при отсутствии конкурентов. В смысле, остальные вообще не занимаются встраиванием SQL баз. Ну разве что sleepycat'овская база, более жирная и вообще странная.

    Ну почему же? Громоптица (firebird) очень неплоха.

     
  • 2.13, Аноним (-), 18:25, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Отличные новости! SQLite одна из самых лучших встраиваемых БД!

    Да и как нормальная БД на сервере работает отлично, особенно если нагрузка не больше 10000 человек в день

     
     
  • 3.17, anonymous (??), 20:17, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, поржал. Кто пустил нуба на Опеннет?!
    Во-первых: у встраиваемых БД совсем другое назначение; Во-вторых: нагрузка на СУБД измеряется не в человеках в день; И кроме того: 10000 "человек в день" выдержит любая СУБД, если всё сделано прямыми руками.
     
     
  • 4.39, Аноним (-), 10:09, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо, поржал. Кто пустил нуба на Опеннет?!

    Наверное, сам пришел. Фэйс контроль отсутствует. Как обычно, ваш Капитан.

    > Во-первых: у встраиваемых БД совсем другое назначение;

    Ряд серверных софтин вполне себе юзает скулайт. В общем то реальных ограничений у него два: не удастся вынести на отдельную машину и writer может быть только 1. Ну ок, еще базы крупнее пары десятков гигз могут быть менее оптимальны по скорости, хотя при прямизне рук - до ~100 гигз нормально - чувак с sql.ru проверял.

     
     
  • 5.54, anonymous (??), 19:13, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > writer  может быть только 1.

    См. WAL.
    Есть и ряд других ухищрений. Правда, в ряде случаев, теряется атомарность транзакции.

     
  • 5.64, anonymous (??), 22:43, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Миграция сервера с одного движка на другой - не такая уж и проблема, если гвоздями не прибито. Разрабы по этому поводу особо не напрягаются.
     

  • 1.2, mcshel (ok), 14:19, 19/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Если я не ошибаюсь, то Thunderbird использует эту БД.
     
     
  • 2.5, Аноним (-), 14:22, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Если я не ошибаюсь, то Thunderbird использует эту БД.

    И файрфокс. Да на самом деле много кто.

     
     
  • 3.11, тоже Аноним (ok), 16:54, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, так Mozilla совсем не зря член того же консорциума. Им сейчас без SQLite никак не прожить.
     
     
  • 4.40, Аноним (-), 10:10, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > без SQLite никак не прожить.

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

     
     
  • 5.46, тоже Аноним (ok), 10:54, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я в курсе, потому и говорю о серьезной зависимости. Они уже привыкли все решать через БД, теперь, чтобы сменить технологию, половину кода придется переписать.
     
  • 5.58, anonymous (??), 19:16, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> без SQLite никак не прожить.
    > Да вообще-то жили кучу времени, а теперь вот с внедрежкой - стали
    > пхать туда больше хлама чем MS в реестр. Так что лис
    > зачастую в скулайт и упирается, что и вызывает его тормоза.

    Про тормоза обоснуйте. Где баги, бенчмарки?
    Если делать корректно - то sqlite работает просто моментально, и упереться там, когда база используется конкурентно одним приложением (как в случае ФФ), крайне сложно.

     
     
  • 6.65, PnDx (ok), 11:29, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Сложно - но можно. Firefox afaik до сих пор не выполняет обслуживание БД (VACUUM). Пишет-трёт, пишет-трёт... Ну и в итоге раздутый файл с дикой фрагментацией.

    upd. Спросил гугла - для этого плагин написали "places-maintenance".

     
  • 2.24, Анонимус_000 (?), 23:31, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Skype, Chrome, Android, iOS, много их....
     

  • 1.3, mcshel (ok), 14:19, 19/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Т.е. ждем ускорения)
     
  • 1.8, Аноним (-), 14:55, 19/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В sqlite4 будет LSM.
     
     
  • 2.10, CrazyAlex25 (ok), 15:28, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А зачем когда есть leveldb?
     
     
  • 3.33, arisu (ok), 03:59, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А зачем когда есть leveldb?

    хотя бы затем, что leveldb — не sql. к тому же на крестах.

     
     
  • 4.36, Аноним (-), 05:56, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Два огромных плюса.
     
     
  • 5.41, Аноним (-), 10:11, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Два огромных плюса.

    Leveldb - кусок горбыля какой-то, как обычно у гугли. Если уж SQL не надо - токийский кабинет или накрайняк беркелеевская база - будут куда как поприятнее этой гуглевской cpaни.

     
     
  • 6.59, arisu (ok), 19:17, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Leveldb - кусок горбыля какой-то, как обычно у гугли. Если уж SQL
    > не надо - токийский кабинет или накрайняк беркелеевская база - будут
    > куда как поприятнее этой гуглевской cpaни.

    я так понимаю, к нам на огонёк зашёл эксперт по key/value базам. уважаемый, а где можно почитать ваши статьи с детальными сравнениями и пояснениями? а то вы говорите так, как будто ваши слова — аксиома, а не теорема.

     

  • 1.18, Аноним (-), 21:05, 19/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лишь бы не переросла в монструозную поделку, как стало с MySQL :(
     
     
  • 2.21, Аноним (-), 22:23, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе для чего ее в паблик домейн перевели? Чтобы ты смог даже не форкать, а просто взять и сделать по-своему (и даже закрыть сырцы), если тебе не понравится вектор ее развития.
     
     
  • 3.27, Аноним (-), 00:30, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >сделать по-своему (и даже закрыть сырцы), если тебе не понравится вектор ее развития.

    И я бы добавил, никому бы их не показывал. Никогда. Лучший ваирант развития многих форков в опенсорсе

     
     
  • 4.53, Аноним (-), 16:44, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>сделать по-своему (и даже закрыть сырцы), если тебе не понравится вектор ее развития.
    > И я бы добавил, никому бы их не показывал. Никогда. Лучший ваирант
    > развития многих форков в опенсорсе

    Лучший вариант развития подавляющего большинства форков. ЧСВ чесать надо одному и в ванной.

     

  • 1.23, Нанобот (ok), 23:18, 19/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    я б не назвал +10-20% прироста "значительными оптимизациями производительности"
     
     
  • 2.25, CrazyAlex25 (ok), 23:35, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    По современным меркам, когда софт почти вообще не оптимизируют это очень даже хорошая цифра. А если учесть что к sqlite уделяется много внимания, полное покрытие тестами и то что она используется многими приложениями, то профит в 10-20%  очень даже хорошо :)  Учитывая что ты скорее всего ни строчки кода не написал для sqlite
     
     
  • 3.51, Пиони (?), 13:57, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Многий софт оптимизируют, просто наращивают его возможности, а вместе с ними и прожорливость, значительно быстрее
     
  • 2.26, CrazyAlex25 (ok), 23:36, 19/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Как с оптимизировать оптимизированное?
     
  • 2.30, Аноним (-), 03:30, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > я б не назвал +10-20% прироста "значительными оптимизациями производительности"

    Ну это потому что когда учитель правит что то в _твоих_ поделках они начинают лететь не на проценты а в десятки раз быстрее. У взрослых - УВЫ, всё не так просто :)

     
  • 2.45, Аноним (45), 10:53, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > я б не назвал +10-20% прироста "значительными оптимизациями производительности"

    Наоборот, с учётом возраста и применяемости проекта, очень подозрительно...

     
     
  • 3.48, тоже Аноним (ok), 10:55, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Приглядитесь к формулировке. Прирост отмечается на "том же количестве процессоров".
    Проще говоря, оптимизировались алгоритмы распараллеливания.
     
     
  • 4.49, Аноним (45), 12:33, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Приглядитесь к формулировке. Прирост отмечается на "том же количестве процессоров".
    > Проще говоря, оптимизировались алгоритмы распараллеливания.

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

     
     
  • 5.52, тоже Аноним (ok), 14:02, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смех смехом, но действительно не исключено, что предыдущая реализация параллельной работы мешала сделать вменяемое кэширование дисковых операций. Прирост-то значительный.
     

  • 1.31, arisu (ok), 03:57, 20/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    когда проект уже переименуют? какой он, нафиг, lite сейчас?!
     
     
  • 2.34, CrazyAlex25 (ok), 04:35, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это стоит расценивать как lite=embedded :)  Или потому что имеет не полный синтаксис sql (в 3.6 добавили поддержку sql-99)
     
     
  • 3.35, arisu (ok), 05:07, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    ну дай поехидничать!
     
  • 2.37, F (?), 09:23, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    1.91Mb архив исходников - просто сравни с MySQL (44.4Mb v5.7.5-m15) или PostgreSQL (21.7Mb v9.4b3), или пресловутый Firebird (~20Mb v2.5.3 - если прикинуть конверсию bz2->gz).

    Разница не то, что в разы - на десятичный порядок минимум. Так что лайт.

     
     
  • 3.55, arisu (ok), 19:14, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 1.91Mb архив исходников

    это не «лайт», это «нифига ж себе монстр!»

     
     
  • 4.60, anonymous (??), 19:24, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> 1.91Mb архив исходников
    > это не «лайт», это «нифига ж себе монстр!»

    Там не только сами исходники sqlite. Подробнее здесь:
    https://sqlite.org/download.html
    https://sqlite.org/amalgamation.html

     
     
  • 5.61, arisu (ok), 19:46, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>> 1.91Mb архив исходников
    >> это не «лайт», это «нифига ж себе монстр!»
    > Там не только сами исходники sqlite. Подробнее здесь:

    я как-то в курсе. речь, однако, шла об утверждении, высказаном в #37: что почти два мегабайта заархивированых исходников — это «лайт». это не «лайт» ни разу.

     
  • 2.42, Аноним (-), 10:13, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > когда проект уже переименуют? какой он, нафиг, lite сейчас?!

    Как ни странно - размер либы все еще достаточно скромный по сравнению с многими иными.

     
     
  • 3.56, arisu (ok), 19:14, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> когда проект уже переименуют? какой он, нафиг, lite сейчас?!
    > Как ни странно - размер либы все еще достаточно скромный по сравнению
    > с многими иными.

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

     
     
  • 4.70, F (?), 21:16, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не совсем так. Потому что есть жиробасы весом полторы тонны :)

    ЗЫ Не могу сказать определенно за исходник (ветка 2.х содержала не так много левого хлама в архиве исходников), но экзешник вполне себе небольшой даже по десятилетней давности временам. Опять же, вспоминаю многомегабайтные исходники MySQL даже 3.х (парсер SQL там сначала генерился из грамматик, а потом собирался дооолго так).

     
     
  • 5.71, arisu (ok), 21:21, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    тут тоже генерируется, аднака. я, кстати, lemon'ом пользовался, он удобный. особенно когда не хочется таскать с собой нагенерённое, и не с руки требовать наличия бизона.
     
  • 2.47, Аноним (45), 10:54, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > когда проект уже переименуют? какой он, нафиг, lite сейчас?!

    lite не только в размере, но и в функционале...

     
     
  • 3.57, arisu (ok), 19:15, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> когда проект уже переименуют? какой он, нафиг, lite сейчас?!
    > lite не только в размере, но и в функционале...

    который тоже уже давно не «лайт».

     
     
  • 4.72, F (?), 21:22, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>> когда проект уже переименуют? какой он, нафиг, lite сейчас?!
    >> lite не только в размере, но и в функционале...
    > который тоже уже давно не «лайт».

    Вас не нравится бОльшая функциональность? 2.8 вроде и мельче, и до сих пор актуален. Спасибо хоть на том, что вообще об оптимизации думают (задумчиво кошусь на жрущий под 300мб файрфокс 33 с двумя вкладками).

     
     
  • 5.73, arisu (ok), 21:44, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Вас не нравится бОльшая функциональность?

    мне название не нравится. мучает мою эстетскую жилку.

     
  • 2.62, Michael Shigorin (ok), 20:52, 20/10/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > какой он, нафиг, lite сейчас?!

    ...литий-теллуровый!

     
  • 2.66, PnDx (ok), 11:40, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > когда проект уже переименуют? какой он, нафиг, lite сейчас?!

      А когда "микрософт" переименуют? Они уже лет 20 ничего "микро" не пишут^wпродают.

     
     
  • 3.67, arisu (ok), 11:48, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >   А когда "микрософт" переименуют? Они уже лет 20 ничего "микро"
    > не пишут^wпродают.

    неправда твоя, куча софта у них «микро». то микроработоспособность, то микробезглючность, то микроудобность…

     
     
  • 4.68, тоже Аноним (ok), 12:57, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Вы им льстите. Начиная с Семерки, MS взяла курс на нано-технологии!
     
     
  • 5.69, arisu (ok), 13:15, 21/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы им льстите. Начиная с Семерки, MS взяла курс на нано-технологии!

    развиваются!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру