+ All Categories
Home > Software > Orm на no sql через jpa. Павел Вейник

Orm на no sql через jpa. Павел Вейник

Date post: 12-Aug-2015
Category:
Upload: alina-dolgikh
View: 2,468 times
Download: 1 times
Share this document with a friend
Popular Tags:
18
Java Day Minsk 2015 ORM на noSql через JPA Павел Вейник Head of Dev @ geomotiv
Transcript
Page 1: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

ORM на noSql через JPA

Павел ВейникHead of Dev @ geomotiv

Page 2: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

1. SQL vs noSql

2. JPA + Kundera + Pelops + Thrift + Cassandra

3. Проект и команда

Page 3: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

SQL vs noSql

SQL-2011 и др

ясная концепция

матаппарат

зрелое решение

не теряет данные

масштабируется

целостность данных

ACID

нет стандарта

расплывчатая

нет

нет

может

масштабируется

нет FK и PK

eventual constistency

Page 4: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

SQL vs noSql: разработка

commercial

легко менять код под новые выборки

быстрое прототипирование

ORM стандарт JPA

Hibernate

триггеры, процедуры

громоздкий код

не нужно думать о производительности

open source

трудно менять код под новые выборки

быстрое прототипирование?

нет стандарта

Thrift

все в клиентском коде

сложный код

вы думаете о производительности

Page 5: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

noSql

● Используется в целях маркетингаNot Only SQL

● Используется жертвами маркетинга● Используется как вспомогательное решение

рядом с РСУБД● Используется как самостоятельное решение

в нестандартных проектах

Page 6: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Бухучет

Page 7: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

twitter

Page 8: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

NoSql?

Каждому приложению не нужна вся мощь Oracle, DB2 или даже Mysql, часто даже полный ACID не нужен.

NoSql — усеченный вариант, разработчику предоставляются низкоуровневые средства работы с БД и ответственность за их использование.

Page 9: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Задача

Перевести большой проект с MySql на Cassandra

Разработать новый уровень обращения к бд

JPA, Hibernate, 300+ таблиц, много данных

Page 10: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Решение

● JPA● Kundera● scale7-pelops● Thrift● Cassandra

Page 11: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Page 12: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Page 13: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Боль

Снижение производительности работы с бд примерно в 2 раза.

Увеличение времени ожидания ответа.

Вернули MySql назад и придумали разумный план на полгода по переходу на Cassandra. В результате добавили пару кэшей.

Page 14: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Проект и команда

Page 15: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Умник– Неизвестный фактор

CTO – Интересы в компани несколькими уровнями

выше чем технологии

Команда– Не хочет ссориться с CTO

– Не хочет делать дурную работу и отвечать за нее

Фрилансер– Хочет сделать задание и получить деньги

Page 16: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Почему?

● Почему CTO выдал распоряжение по переходу на noSql?

● Почему команда не донесла до СТО масштабы перехода?

● Почему оказалось проще потратить время и ресурсы, чем подумать сразу?

● Почему фрилансер взялся за странную работу?

Page 17: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

Технологии?

Процессы?

Роли?

Исполнители?

Разработчики

Отношения?

Управление?

HR? Внутренний HR?

Успех проекта

Page 18: Orm на no sql через jpa. Павел Вейник

Java Day Minsk 2015

?Павел Вейник

Head of Dev @ geomotiv


Recommended