Кажущаяся простота задачи «продажа билетов на любое событие» – обманчива. Билеты бывают разных видов: с указанием мест и входные (без мест), они продаются по разным ценовым категориям (ближе или дальше от сцены), по разным тарифам (взрослый, детский), могут иметь множество ограничений, в том числе и по емкости «места проведения», например, экскурсионного судна. Билеты связаны с местами, на которые они выпущены, места принадлежат площадке (концертному залу, стадиону) с одной стороны, и сеансу, который принадлежит событию – с другой. Сеансы одного события могут происходить на разных площадках, в разных городах. У билетов, мест, сеансов, событий и площадок есть множество параметров, часто взаимосвязанных. Всю эту кавалькаду сущностей необходимо перевести в объекты и работать с ними так, чтобы обеспечить продажу билетов максимальному числу покупателей в режиме реального времени. Необходимо продавать быстро и надежно, даже если в эти секунды десятки тысяч людей одновременно хотят приобрести билеты на аншлаговые спортивные или развлекательные события, которые пройдут на крупнейших стадионах страны.
Комментарий недоступен
А чем конкретно лучше то с объектным языком использовать реляционную базу?
К SQL отношусь ровно, написал: "существует великое множество проектов, где PostgreSQL или MongoDB хватит за глаза." И я дал ссылку на Объектно-реляционный разрыв, чтобы вам не казалось, что я все это придумал )).
Когда пишешь про объектные базы и импеданс сразу набегают защитники реляционной алгебры и SQL. Часто, агрессивно-консервативные, с неприятием всего нового. При этом объектные базы никогда не использовали и действуют по старому советскому принципу: "Пастернака не читал, но осуждаю..." Думаю, что им кажется, что если они не защитят свою полянку, ее отберут )
Ну что же.... Я привык ). Дадите ссылки на свои проекты с SQL, почитаю...
Комментарий недоступен
Объектная СУБД - это не только формат данных, это много чего. Чтобы работать с ней на Java нужно знать, например, Java Persistence API (JPA) — спецификация API Java EE, предоставляет возможность сохранять в удобном виде Java-объекты в базе данных.
Actian не дает документацию к VOD просто так, но добрые люди из Pennsylvania State University выложили один том "Versant Object Database Fundamentals Manual"
Пользуйтесь, если интересно https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.647.154&rep=rep1&type=pdf
С масштабированием, репликацией, индексами, многоуровневым кэшем в VOD все прекрасно. Я не собираюсь сюда копипастить доку.
"Так вы слона не продадите." - Наверное я зря в статье не написал, что я ничего не продаю. совсем ничего . Я team lead and software architect at Kernel.group https://kernel.group/index.html
В статье описан кейс по созданию платформы bil24.pro основанной на VOD. Статью я разместил в разделе "Личный опыт", где часто пишут о том, кто, как и на чем реализует те или иные проекты. Ссылку на статью я даю тем, кто расспрашивает меня про VOD. В статье есть несколько полезных ссылок.
отдельно, мне нравится в VOD Roll forward Archiving - журналирование транзакций на сервере, который стоит в горячей замене основного.
Это очень очень очень плохая идея, хранить объекты программы as-is в любом постоянном хранилище.
По очень простой причине: программы меняются. Достаточно поле добавить в класс объекта, который сохранен в хранилище в сериализованном виде и все - больше вы ваши данные напрямую не достанете (без кастомной сериализации) тк разойдется структура данных (класс) и сами данные.
Поэтому место вашему VOD на свалке истории, рядом с COM+, CORBA и подобными ужасами.
Посмотрите на список клиентов, использующих VOD, на их проекты . Хорошая такая свалка ))). Насмешили)
https://kernel.group/actian.html#02
China Telecom управляет клиентской базой в 250 млн. ADSL абонентов. Разработка базы данных для хранения и быстрого доступа к информации абонентов стала для компании огромной проблемой.
Задача
Производительность и надежность базы должны обеспечивать до 480 000 запросов и 1000 операций в секунду в периоды пиковой нагрузки. Существующие приложения China Telecom работали с базой данных абонентов и обеспечивали доступ в реальном времени к сотням тысяч учетных записей. Клиентская база была развернута в реляционной СУБД и требовала высокопроизводительный, дорогой в обслуживании сервер. Со временем система стала слишком громоздкой, чтобы поддерживать растущую клиентскую базу компании.
Решение
Разработчики China Telecom предложили заменить существующую сложную централизованную реляционную СУБД группой недорогих блейд-серверов с объектной базой данных. Для реализации этого решения China Telecom обратилась к Versant – лидеру в отрасли программного обеспечения для управления объектными базами данных. Технология Versant предоставила компании высокопроизводительную, распределенную и устойчивую информационную среду.
Комментарий недоступен