Не SQL’ом единым
Зачем SQL?
Зачем NoSQL
Пример
Пример
Пример
Зачем NoSQL
Думайте!
https://github.com/boltdb/bolt
ДАЛЬШЕ КОД ПРИМЕРА
Блажнов Василий
7.27M
Категория: ПрограммированиеПрограммирование

Не SQL’ом единым

1. Не SQL’ом единым

Василий Блажнов

2.

3.

4. Зачем SQL?

Универсальное решение
Проверка за разработчика
ACID
Сложные выборки

5. Зачем NoSQL

Сложность горизонтального масштабирования
Дублирование схемы: в коде и БД
Строгая схема
Громоздкость модификации
Производительность записи
Нормализация-денормализация
Избыточность в простых задачах

6. Пример

class Employee
{
int PositionId;
int DepartmentId;
}
class Position
{
int Id;
string Name;
}
class Employee
{
int PositionId;
int DepartmentId;
}

7. Пример

[
{
"Output": "1"
},
{
"Output": "2",
"ErrorCode": -400
}
]
class JobResult
{
public string Output { get; set; }
public long? ErrorCode { get; set; }
}

8. Пример

class Worker
{
string Name;
}
class Employee : Worker
{
decimal MonthlySalary;
}
class Contractor : Worker
{
DateTime Till;
}

9. Зачем NoSQL

Отсутствие схемы
Скорость записи

Легкость
Горизонтального масштабирования

10. Думайте!

11.

https://redis.io/commands/

12.

13. https://github.com/boltdb/bolt

db.Update(func(tx *bolt.Tx) error {
b := tx.Bucket(bucketName)
if b == nil {
return errors.New("can't open bucket")
}
return b.Put([]byte(key), rawValue)
})
db.View(func(tx *bolt.Tx) error {
b := tx.Bucket(bucketName)
if b == nil {
return errors.New("can't open bucket")
}
value := b.Get([]byte(key))
fmt.Printf("value is %s\n", value)
return nil
})

14. ДАЛЬШЕ КОД ПРИМЕРА

15.

ЕЩЕ ОДИН ВИД СЛАЙДА

16. Блажнов Василий

Молодец
в г. Уфа
[email protected]
English     Русский Правила