Upload files to "/"
This commit is contained in:
parent
5122110a27
commit
5dd45e77ed
173
Черновик Readme.txt
Normal file
173
Черновик Readme.txt
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
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