docs: add multi-language documentation (ru, fa, zh, tr, ar)

This commit is contained in:
2026-05-07 23:42:55 +03:00
parent abb382c419
commit e9d3c7e9de
157 changed files with 14339 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
# Справочник по протоколу
BaraDB поддерживает несколько протоколов для клиентской коммуникации:
- **Binary Wire Protocol** — высокопроизводительный, низкая латентность
- **HTTP/REST API** — независимый от языка, легко отлаживать
- **WebSocket** — потоковая передача и pub/sub
## Binary Wire Protocol
Использует big-endian кодирование для всех многобайтовых значений.
### Цикл соединения
```
Client Server
| |
|─── TCP connect ──────────────>|
|<── TLS handshake (optional) ──|
|─── Auth message ─────────────>|
|<── Auth_OK / Error ───────────|
|─── Query message ────────────>|
|<── Data / Complete / Error ───|
|─── Close message ────────────>|
|<── TCP close ─────────────────|
```
### Формат сообщения
```
┌─────────────┬─────────────┬─────────────┬─────────────────────┐
│ Length │ Type │ Sequence │ Payload │
│ (4 bytes) │ (1 byte) │ (1 byte) │ (Length - 6 bytes) │
└─────────────┴─────────────┴─────────────┴─────────────────────┘
```
### Типы сообщений
| Тип | ID | Направление | Описание |
|----|----|-------------|---------|
| Query | 0x01 | C→S | Выполнить запрос |
| Insert | 0x02 | C→S | Вставить данные |
| Update | 0x03 | C→S | Обновить данные |
| Delete | 0x04 | C→S | Удалить данные |
| Ready | 0x05 | S→C | Готов к следующей команде |
| Error | 0x06 | S→C | Ответ об ошибке |
## HTTP/REST API
Base URL: `http://localhost:9470/api/v1`
### Endpoints
#### Health
```http
GET /health
```
#### Query
```http
POST /query
Content-Type: application/json
{
"query": "SELECT name, age FROM users WHERE age > 18"
}
```
#### Schema
```http
GET /schema
```
## WebSocket Protocol
URL: `ws://localhost:9471`
### Pub/Sub
```javascript
ws.send(JSON.stringify({
type: 'subscribe',
table: 'users'
}));
```