![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Большинство систем базы данных SQL осуществляется как отдельный серверный
процесс. Программы, которые хотят получить доступ к базе данных, общаются с
сервером, используя некоторое межпроцессное взаимодействие (как правило,
TCP/IP), чтобы отправить запросы к серверу и получить назад результаты.
С SQLite процесс, который хочет получить доступ к базе данных, читает и пишет
непосредственно от файлов базы данных на диске.
Нет никакого посреднического серверного процесса. Есть преимущества и недостатки к тому, чтобы быть serverless.
Главное преимущество состоит в том, что нет никакого отдельного серверного
процесса, чтобы установить, настроить, инициализировать, управлять и
расследовать. Это одна причина, почему SQLite это ядро базы данных
"нулевой конфигурации".
Программы, которые используют SQLite, не требуют никакой административной
поддержки подготовки ядра базы данных, прежде чем ими будут управлять.
Любая программа, которая в состоянии получить доступ к диску, в состоянии
использовать базу данных SQLite. С другой стороны, ядро базы данных, которое использует сервер, может
обеспечить лучшую защиту от ошибок в клиентском приложении,
случайные указатели в клиенте не могут испортить память на сервере.
И потому что сервер - единственный постоянный процесс, он в состоянии
управлять доступом к базе данных с большей точностью, допуская
более грамотную блокировку и лучший параллелизм. Большинство систем базы данных SQL это клиент-сервер.
Из тех, которые являются serverless, SQLite единственный, известный этому
автору, который позволяет многочисленным запросам
получить доступ к той же самой базе данных в то же время. Недавно, люди начали использовать слово "serverless", чтобы
означать что-то тонко отличное от его подразумеваемого смысла в этом
документе. Вот два возможных определения "serverless": Classic Serverless: ядро базы данных работает в
рамках того же самого процесса, потока и адресного пространства, как
приложение. Нет никакой передачи сообщений или сетевой деятельности. Neo-Serverless: ядро базы данных работает в отдельном
пространстве имен от приложения, вероятно на отдельной машине, но база данных
обеспечивается как обслуживание под ключ поставщиком услуг хостинга, не
требуют никакого управления или администрации владельцами приложений,
и так просты в использовании, что разработчики могут думать о базе данных,
как являющейся serverless, даже если это действительно использует сервер.
SQLite это пример классического serverless ядра базы данных.
С SQLite нет никаких других процессов, потоков, машин или других механизмов
(кроме главного компьютера OS и файловой системы),
чтобы помочь предоставить услуги базы данных или внедрение.
Действительно нет никакого сервера.
Microsoft Azure Cosmo DB и
Amazon S3 это примеры
neo-serverless БД. Эти базы данных осуществляются серверными процессами,
отдельно в облаке. Но серверы сохраняются и управляются ISP, не разработчиком
приложений. Разработчики приложений просто используют обслуживание.
Разработчики не должны обеспечивать, формировать или управлять серверами
базы данных, поскольку вся та работа обработана автоматически поставщиком
услуг. Серверы баз данных действительно на самом деле существуют, они просто
скрыты от разработчиков. Важно понять эти два различных определения для "serverless".
Когда база данных утверждает, что она "serverless", надо различать,
имеют ли в виду они "классический serverless"
или "neo-serverless".
Choose any three.
1. SQLite Serverless
2. Classic Serverless или Neo-Serverless