Топ питань
Часова шкала
Чат
Перспективи

SQLite

З Вікіпедії, вільної енциклопедії

SQLite
Remove ads

SQLite — полегшена реляційна система керування базами даних. Втілена у вигляді бібліотеки, де реалізовано багато зі стандарту SQL-92. Початковий код SQLite поширюється як суспільне надбання (англ. public domain), тобто може використовуватися без обмежень та безоплатно з будь-якою метою. Фінансову підтримку розробників SQLite здійснює спеціально створений консорціум, до якого входять такі компанії, як Adobe, Oracle, Mozilla, Nokia, Bentley[en] і Bloomberg.

Коротка інформація Тип, Розробник ...
Remove ads

З 2018 року SQLite, як й JSON та CSV, рекомендований Бібліотекою Конгресу США формат зберігання структурованого набору даних[1].

У 2005 році проєкт отримав нагороду Google-O'Reilly Open Source Awards.

Remove ads

Огляд

Узагальнити
Перспектива

Особливістю SQLite є те, що вона не використовує парадигму клієнт-сервер, тобто рушій SQLite не є окремим процесом, з яким взаємодіє застосунок, а надає бібліотеку, з якою програма компілюється і рушій стає складовою частиною програми. Таким чином, як протокол обміну використовуються виклики функцій (API) бібліотеки SQLite. Такий підхід зменшує накладні витрати, час відгуку і спрощує програму. SQLite зберігає всю базу даних (включаючи визначення, таблиці, індекси і дані) в єдиному стандартному файлі на тому комп'ютері, на якому виконується застосунок. Простота реалізації досягається за рахунок того, що перед початком виконання транзакції весь файл, що зберігає базу даних, блокується; ACID-функції досягаються зокрема за рахунок створення файлу-журналу.

Кілька процесів або потоків можуть одночасно без жодних проблем читати дані з однієї бази. Запис в базу можна здійснити тільки в тому випадку, коли жодних інших запитів у цей час не обслуговується; інакше спроба запису закінчується невдачею, і в програму повертається код помилки. Іншим варіантом розвитку подій є автоматичне повторення спроб запису протягом заданого інтервалу часу.

У комплекті постачання йде також функціональна клієнтська частина у вигляді виконуваного файлу sqlite3, за допомогою якого демонструється реалізація функцій основної бібліотеки. Клієнтська частина працює з командного рядка, і дозволяє звертатися до файлу БД на основі типових функцій ОС.

Завдяки архітектурі рушія можливо використовувати SQlite як на вбудовуваних (embedded) системах, так і на виділених машинах з гігабайтними масивами даних.

Remove ads

Особливості SQLite

  • транзакції атомарні, послідовні, ізольовані, і міцні (ACID) навіть після збоїв системи і збоїв живлення
  • Встановлення без конфігурації — не потребує ані установки, ані адміністрування
  • Реалізує значну частину стандарту SQL92[2]
  • База даних зберігається в одному крос-платформовому файлі на диску
  • Підтримка терабайтних розмірів баз даних і гігабайтного розміру рядків та BLOB-ів
  • Малий розмір коду: менше ніж 350KB повністю налаштований, і менш 200KB з опущеними додатковими функціями
  • Швидший за популярні рушії клієнт-серверних баз даних для найпоширеніших операцій
  • Простий, легкий у використанні API
  • Написано в ANSI C, включено прив'язку до TCL; доступні також прив'язки для десятків інших мов
  • Добре прокоментований початковий код зі 100 % тестовий покриттям гілок
  • Доступний як єдиний файл початкового коду на ANSI C, який можна легко вставити в інший проєкт
  • Автономність: немає зовнішніх залежностей
  • Крос-платформовість: з коробки підтримується Unix (Linux і Mac OS X), OS/2, Windows (Win32 і WinCE). Легко переноситься на інші системи
  • Сирці перебувають в суспільному надбанні
  • Поставляється з автономним клієнтом інтерфейсу командного рядка, який може бути використаний для управління базами даних SQLite
Remove ads

Інструменти створення та обслуговування БД

Створення та обслуговування БД можуть здійснюватись через текстову консоль SQL-командами або через спеціальні інструменти, у тому числі — з графічним інтерфейсом користувача[3].

Технології, що підтримують SQLite

Узагальнити
Перспектива

Мови програмування

Сама бібліотека SQLite написана мовою C. Проте є реалізація бібліотеки на JavaScript sql.js, яка дозволяє обробляти файли БД безпосередньо в браузері[4].

Для інших мов програмування розроблено механізм підключення й роботи з БД через цю бібліотеку: C++, Java, Python, Perl, PHP, Ruby, Haskell, Scheme, Smalltalk, Lua тощо. Засоби для роботи з Tcl включені в комплект постачання SQLite. Повний список наявних засобів можна знайти на сторінці проєкту[5].

Web-інструментарії

У ряді інструментаріїв присутня можливість використання SQLite як бази даних, наприклад:

Застосунки

Багато програм підтримують SQLite як формат зберігання даних, зокрема:

  • Amarok — може використовувати бази даних SQLite як сховище музичної колекції.
  • Gajim — SQLite використовується для зберігання історії контактів.
  • Songbird (як застосунок, заснований на XULRunner[en] 1.9)
  • Banshee
  • F-Spot[en]
  • Платформа XUL на рушії Gecko 1.9, XULRunner[en] 1.9 і, потенційно, всі застосунки, засновані на цій платформі, у тому числі й Firefox починаючи з версії 3.0
  • Google Chrome
  • Google Gears
  • Mendeley — менеджер pdf-документів, академічний засіб для дослідження (реалізується desktop & web).
  • Zotero — менеджер інформації, бібліографічний менеджер, додаток Firefox.
Remove ads

Інше

Див. також

Примітки

Loading content...

Посилання

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads