Delete Черновик Readme.txt
This commit is contained in:
parent
5dd45e77ed
commit
6d6dc0a392
@ -1,173 +0,0 @@
|
|||||||
1. Команды для заполнения WAL файла
|
|
||||||
|
|
||||||
Для заполнения файла futrum.wal нужно выполнить операции записи в базу данных. Вот последовательность команд:
|
|
||||||
|
|
||||||
# Переход в режим базы данных
|
|
||||||
inbox.start
|
|
||||||
|
|
||||||
# Создание пространства (коллекции)
|
|
||||||
create.space users
|
|
||||||
|
|
||||||
# Создание документов - эти операции записываются в WAL
|
|
||||||
create users user1 '{"name": "Alice", "age": 25, "email": "alice@example.com"}'
|
|
||||||
create users user2 '{"name": "Bob", "age": 30, "email": "bob@example.com"}'
|
|
||||||
create users user3 '{"name": "Charlie", "age": 35, "email": "charlie@example.com"}'
|
|
||||||
|
|
||||||
# Обновление документов - также записывается в WAL
|
|
||||||
update users user1 '{"name": "Alice Smith", "age": 26, "email": "alice.smith@example.com"}'
|
|
||||||
|
|
||||||
# Удаление документов - записывается в WAL
|
|
||||||
delete users user3
|
|
||||||
|
|
||||||
# Создание кортежей в пространстве
|
|
||||||
create.tuple users tuple1 '{"type": "profile", "data": {"premium": true, "settings": {"theme": "dark"}}}'
|
|
||||||
|
|
||||||
# Выход из режима базы данных
|
|
||||||
exit
|
|
||||||
|
|
||||||
После выполнения этих команд файл futrum.wal будет содержать записи всех операций создания, обновления и удаления.
|
|
||||||
|
|
||||||
2. Все реализованные команды во встроенной СУБД
|
|
||||||
|
|
||||||
Базовые команды
|
|
||||||
|
|
||||||
# Выход из приложения
|
|
||||||
exit
|
|
||||||
|
|
||||||
# Переключение между режимами
|
|
||||||
inbox.start # Переход в режим базы данных
|
|
||||||
exit # Возврат в режим Lua из режима базы данных
|
|
||||||
|
|
||||||
|
|
||||||
Команды CRUD операций
|
|
||||||
|
|
||||||
# Создание пространства (коллекции)
|
|
||||||
create.space <space_name>
|
|
||||||
|
|
||||||
# Создание документа
|
|
||||||
create <collection> <key> <json_value>
|
|
||||||
create users user1 '{"name": "John", "age": 30}'
|
|
||||||
create products prod1 '{"title": "Laptop", "price": 999.99}'
|
|
||||||
|
|
||||||
# Создание кортежа
|
|
||||||
create.tuple <space> <tuple_id> <json_value>
|
|
||||||
create.tuple users profile1 '{"type": "user_profile", "premium": true}'
|
|
||||||
|
|
||||||
# Чтение документа
|
|
||||||
read <collection> <key>
|
|
||||||
read users user1
|
|
||||||
read products prod1
|
|
||||||
|
|
||||||
# Обновление документа
|
|
||||||
update <collection> <key> <json_value>
|
|
||||||
update users user1 '{"name": "John Doe", "age": 31}'
|
|
||||||
|
|
||||||
# Удаление документа
|
|
||||||
delete <collection> <key>
|
|
||||||
delete users user1
|
|
||||||
|
|
||||||
Команды управления пользователями (ACL)
|
|
||||||
|
|
||||||
# Вход под пользователем
|
|
||||||
login <username>
|
|
||||||
login admin
|
|
||||||
login guest
|
|
||||||
|
|
||||||
# Добавление пользователя
|
|
||||||
add-user <username> <permissions>
|
|
||||||
add-user alice read,write
|
|
||||||
add-user bob read,write,admin
|
|
||||||
|
|
||||||
# Удаление пользователя
|
|
||||||
remove-user <username>
|
|
||||||
remove-user bob
|
|
||||||
|
|
||||||
# Список пользователей
|
|
||||||
list-users
|
|
||||||
|
|
||||||
Команды статуса и кластера
|
|
||||||
|
|
||||||
# Статус системы
|
|
||||||
status
|
|
||||||
cluster-status
|
|
||||||
|
|
||||||
Команды шардинга
|
|
||||||
|
|
||||||
# Добавление шард-узла
|
|
||||||
add-shard-node <node_url>
|
|
||||||
add-shard-node http://node1.example.com:8080
|
|
||||||
add-shard-node http://node2.example.com:8080
|
|
||||||
|
|
||||||
# Удаление шард-узла
|
|
||||||
remove-shard-node <node_url>
|
|
||||||
remove-shard-node http://node1.example.com:8080
|
|
||||||
|
|
||||||
# Список шард-узлов
|
|
||||||
list-shard-nodes
|
|
||||||
|
|
||||||
Команды индексов (новая функциональность)
|
|
||||||
|
|
||||||
# Создание первичного индекса
|
|
||||||
create-primary-index <collection>
|
|
||||||
create-primary-index users
|
|
||||||
create-primary-index products
|
|
||||||
|
|
||||||
# Создание вторичного индекса
|
|
||||||
create-secondary-index <collection> <field_name> <index_type>
|
|
||||||
create-secondary-index users email hash
|
|
||||||
create-secondary-index users age btree
|
|
||||||
create-secondary-index users name fulltext
|
|
||||||
create-secondary-index locations coordinates spatial
|
|
||||||
|
|
||||||
# Типы индексов:
|
|
||||||
# - hash : для точных поисков
|
|
||||||
# - btree : для диапазонных запросов
|
|
||||||
# - fulltext: для полнотекстового поиска
|
|
||||||
# - spatial : для пространственных данных
|
|
||||||
|
|
||||||
# Удаление индекса
|
|
||||||
drop-index <collection> <index_name>
|
|
||||||
drop-index users users_email_idx
|
|
||||||
|
|
||||||
# Список индексов коллекции
|
|
||||||
list-indexes <collection>
|
|
||||||
list-indexes users
|
|
||||||
|
|
||||||
# Поиск по индексу
|
|
||||||
query-by-index <collection> <index_name> <value>
|
|
||||||
query-by-index users users_email_idx "alice@example.com"
|
|
||||||
query-by-index users users_age_idx "25"
|
|
||||||
|
|
||||||
Команды Raft кластера
|
|
||||||
# Добавление узла
|
|
||||||
add-node <node_url>
|
|
||||||
add-node http://raft1.example.com:8090
|
|
||||||
|
|
||||||
# Удаление узла
|
|
||||||
remove-node <node_id>
|
|
||||||
remove-node node123
|
|
||||||
|
|
||||||
Пример полной сессии работы
|
|
||||||
|
|
||||||
# Запуск в режиме Lua
|
|
||||||
lua> inbox.start
|
|
||||||
|
|
||||||
# Переход в режим базы данных
|
|
||||||
futriiX:~> create.space customers
|
|
||||||
futriiX:~> create customers cust1 '{"name": "Company A", "city": "Moscow", "balance": 5000}'
|
|
||||||
futriiX:~> create customers cust2 '{"name": "Company B", "city": "SPb", "balance": 3000}'
|
|
||||||
futriiX:~> create-secondary-index customers city hash
|
|
||||||
futriiX:~> create-secondary-index customers balance btree
|
|
||||||
futriiX:~> list-indexes customers
|
|
||||||
futriiX:~> query-by-index customers customers_city_idx "Moscow"
|
|
||||||
futriiX:~> update customers cust1 '{"name": "Company A LLC", "city": "Moscow", "balance": 5500}'
|
|
||||||
futriiX:~> status
|
|
||||||
futriiX:~> exit
|
|
||||||
|
|
||||||
# Возврат в режим Lua
|
|
||||||
lua> exit
|
|
||||||
|
|
||||||
Все эти команды логируются в WAL файл при операциях записи (create, update, delete), что обеспечивает durability данных.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user