CSQL

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 12:46, 20 февраля 2018.
CSQL
fraimed
Разработчики: Lakshya & Community
Постоянный выпуск: CSQL 3.3 / May 8, 2011 (2011-05-08)
Написана на: Javascript,C++
Операционная система: Linux,Oracle Solaris
Тип ПО: Реляционная СУБД
Веб-сайт csql.sourceforge.net

CSQL - высокоэффективная система управления реляционными базами данных, основанная на открытых кодах, разработанная sourceforge.net. Она разработанна так, чтобы обеспечить высокую эффективность для запросов языка SQL и операторов языка DML[1]. CSQL выполняет запросы в 30 раз быстрее чем другие с открытыми исходными кодами системы управления базой данных и обеспечивает прогнозируемое время ответа (10 микросекунд для выполнения запроса по LOOKUP и 20 микросекунд для операций INSERT, UPDATE, DELETE), что позволяет использовать эту СУБД для операций, выполняемых в реальном времени и приложений для работы с массивами баз данных, и критичных к времени выполнения запросов.[Источник 1]

Базы данных расположенные в основной памяти позволяют выполнять операции в 10-20 раз быстрее чем коммерческие системы управления базами данных, так как данные используемые в запросах располагаются в оперативной памяти.

Возможности

  • Прямой доступ к базе данных, данные доступны в адресном пространстве приложения через внутренний механизм;
  • Клиент-серверный доступ для приложений, постоянно находящихся на удаленных от сервера компьютерах;
  • Атомарность - все операции выполненной транзакции должны быть подтверждены для вступления в силу, при отсутствии подтверждения изменения будут отменены;
  • Последовательность - база данных должна быть в доступном режиме, до начала выполнения транзакции и некоторое время после ее окончания;
  • Изоляция - каждая транзакция выполняется в изолированной области, независимо и недоступной для транзакций выполняемых другими приложениями;
  • Отказоустойчивость - возможность востановить все подтвержденные транзакции в случае отказа оборудования или других сбоев в работе системы;
  • Ограничения - NOT NULL, Unique key, Primary Key, Foreign Key;
  • Значения по умолчанию для автоинкриминентных полей;
  • Автоматическая система освобождения ресурсов тех прикладных процессов, которые получили сбой и перестали отвечать;
  • Ускоренное выполнение комманды LOOKUP, за счет использования индексов и кеша индексов;
  • Ускоренное выполнение множественных запросв за счет использования древовидной индексации;
  • Типы данных: BYTE, SMALL, INT, BIGINT, FLOAT, DOUBLE, CHAR, BINARY, DATE, TIME, TIMESTAMP;
  • Блокировка на уровне элемента данных (строки), блокировка свободных внутренних структур для высокой степени многопоточности;
  • Поддержка механизма аутентификации пользователей для доступа к базе данных;
  • Поддержка агрегатных функций, группировки, внутреннего объединения, внешнего объединения, самообъединения, исключения, сортировки;

[Источник 2]

Платформы

CSQL реализовано на:

Поддерживаемые интерфейсы

  • SQL
  • ODBC
  • JDBC
  • PHP

Установка CSQL

Шаг 1. Загрузить csqlmmdb-xxx-xxx.tar.gz с официального веб-сайта. http://csqldb.com/download.html

Шаг 2. Изменить каталог, в котором загружена TAR. Введите следующую команду в приглашении

 $ tar zxvf "название каталога, где лежит архив с бд/csqlmmdb-xxx-xxx.tar.gz" 

Это приведет к извлечению файлов в csqlmmdb-xxx-xxx в текущем каталоге.

Шаг 3. Введите команду ниже в командной строке

$ . ./setupenv.ksh 

Это создаст и установит все переменные среды, определенные в файле setupenv.ksh, присутствующем в каталог. Шаг 6. Введите команду ниже в командной стороке

$  cd scripts
$ ./startup.sh
Starting csqlserver without verbose

Это запустит CSQL server

Шаг 7. Запустите сервер csql, используя следующую команду в командной строке

$ csqlserver
Теперь на экране появится информация о готовности: 
ConfigValues 
getPageSize 8192 
getMaxProcs 100 
. . . 
sysdb size 1048576 
dbsize 10485760 
System Database initialized 
Database server started 

Начата инициализация базы данных. Все правильно, база данных была успешно настроена и время, чтобы играть с некоторыми инструкциями SQL. ПРИМЕЧАНИЕ. Чтобы остановить сервер csql, просто нажмите Ctrl + c.

Шаг 8. Откройте другой терминал и введите следующую команду, чтобы запустить клиент csql.

 
$. ./setupenv.ksh 
$ csql

Шаг 9. Когда клиент запущен, вы должны получить приглашение CSQL>. В командной строке введите команду ниже.

 
CSQL> select table
Дисплей должен быть похож на: 
======== TableNames ======= Отсутствует таблица ======================== 

Примеры команд CSQL mmdb

Для создания таблицы используется команда

CSQL> create table название таблицы(название переменной тип переменной);
Example create command


Для ввода данных в таблицу используется команда

CSQL> insert into название таблицы values(значения, которые хотите поместить)

Не забывайте о хронологии переменных, какие переменные вы добавили в таблицу и какой тип переменной вы ввели

Example insert command


Для просмотра таблицы используется команда

CSQL>select * from название таблицы
Example select command


Для удаления данных их таблицы используется команда

CSQL> delete from название таблицы where название переменной = значение переменной
Example delete command


Для удаления самой таблицы используется команда

CSQL>drop table название таблицы
Example drop command


Для выхода из CSQL используется команда.[Источник 3]

CSQL>quit


Подключение к серверу выполняется с помощью функции Init()

На вход она принимает 4 обязательных параметра и 1 необязательный: адрес или имя сервера, имя пользователя, пароль, название базы данных и признак "подключать всех". Если Признак "подключать всех" установить в 0 (значение по умолчанию), то функция Init() сделает только одно соединение с сервером, если установить в 1, то Init() сделает 4 соединения (максимально возможное число соединений). Если было сделано только одно соединение, то остальные делаются по мере необходимости автоматически. Необходимость делать сразу несколько соединений возникает при использовании транзакций, т. к. транзакции работают только на открытых соединениях.

Примечания

  1. Data Manipulation Language (DML) (язык управления (манипулирования) данными) — это семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.

Ссылки

  1. Вики статья //CSQL [2018-2018] Дата обновления:16.02.2018. URL:https://en.wikipedia.org/wiki/CSQL (дата обращения 16.02.2018).
  2. Официальный сайт //CSQL sourceforge [2018-2018] Дата обновления:16.02.2018. URL:https://www.sourceforge.net/ (дата обращения 16.02.2018).
  3. Видео гайд по установке и просмотру БД //CSQL [2018-2018] Дата обновления:19.02.2018. URL:https://www.youtube.com/watch?v=pRoMg6LnoeI (дата обращения 19.02.2018).