Similar presentations:
Не 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]