powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор СУБД
11 сообщений из 111, страница 5 из 5
Выбор СУБД
    #34350920
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanА затем, что если скипнуть лоченные записи не узнать реального положения дел в настоящий момент)) :D
А это уже нафиг не интересно с точки зрения постановки задачи. Там сказано - зарезервировать 50 билетов, for update это позволяет. Еще там сказано не мешать другим транзакциям, skip locked это позволяет.

Если хочешь - иди в тот топик и придумывай другую задачу. Будет этакое соревнование: сумеет ли gardenman придумать задачу, которую Oracle не сумеет решить
...
Рейтинг: 0 / 0
Выбор СУБД
    #34350935
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DPH
В СУБД "изменение таблички в памяти" требует ее изменения на диске, сохранения лога транзакции, весьма недешевую проверку блокировок и т.п

непонял, вы считаете что это все лишнее ?

DPH
Для AppServer, даже если не рассматривать асинхронные варианты persistance, все гораздо дешевле - нет блокировок, выполняется команда insert, а не update.

для того чтоб в случае сбоя воставновить ваш объект вы обязаны писать в персистент хранилище и не асинхронно а "сию секунду", т.е. тут съэкономить не удастся. к тому же изменение таблички не требует ее изменения на диске (надеюсь вы в курсе что требуется лишь последовательная запись в лог)

DPH
Я неоднократно играл с подобными схемами, выигрыш от варианта "update объекта в кэше, вставка изменения в базу" по сравнению с "update поля в базе" зачастую более чем в десять раз. Ну и, конечно, никаких блокировок (вернее, блокировка по объекту AppServer, но она очень быстрая).
неверю, геморой по синхранизации объекта с субд не окупится, расскажите plz что вы будете желать если после обновления объекта связь с субд пропала ?
...
Рейтинг: 0 / 0
Выбор СУБД
    #34350963
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!непонял, вы считаете что это все лишнее ?
Для задачи "возвращать актуального лидера" это действительно лишнее.

Yo.!для того чтоб в случае сбоя воставновить ваш объект вы обязаны писать в персистент хранилище
Это insert, следовательно без блокировок, следовательно горлышком являются только возможности железа.

Yo.!неверю, геморой по синхранизации объекта с субд не окупится,
Тут Вы вряд ли правы.
...
Рейтинг: 0 / 0
Выбор СУБД
    #34350984
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Это insert, следовательно без блокировок, следовательно горлышком являются только возможности железа.

чудес не бывает, вместо блокировки в субд у него будет блокировка в объекте в чем разница ?

softwarer
Yo.!неверю, геморой по синхранизации объекта с субд не окупится,
Тут Вы вряд ли правы.
расшифруй, мне не понятно если я сначало обновляю объект, а потом асинхронно пишу в хранилище то в случае сбоя получу lost update
...
Рейтинг: 0 / 0
Выбор СУБД
    #34351022
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!чудес не бывает, вместо блокировки в субд у него будет блокировка в объекте в чем разница ?
В том, что с объектом не делается "персистентных" операций, а следовательно блокировка удерживается на нем много меньше времени. Держать же эту блокировку на время персистентных операций совершенно необязательно.

Yo.!расшифруй, мне не понятно если я сначало обновляю объект, а потом асинхронно пишу в хранилище то в случае сбоя получу lost update
Хм. Вообще тут опять-таки надо плясать от постановки задачи; я бы сказал, весьма вероятна постановка "в случае неустранимого аппаратного сбоя аукцион переигрывается с начала".

Если предположить, что ставки надо заведомо сохранять, безусловно, писать в хранилище нужно синхронно и с начала. Но блокировку на "объекте" при этом держать совершенно не нужно; после успешной записи накладывается короткая блокировка и new_leading_bid := max ( new_leading_bid, current_bid ), все.

Возникает вопрос, что делать, если запись попала в хранилище и в этот момент рухнул аппсервер. Ответ - да ничего, как он поднимется, так и сделает select max() из хранилища. Это же относится к случаю, если аппсерверов несколько; обслуживание объекта перейдет на другой сервер.
...
Рейтинг: 0 / 0
Выбор СУБД
    #34351307
не важно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerМини-откаты обеспечивают write consistency, однако с read consistency они связаны не более, чем с какой-либо другой из основных концепций.Хм...
...
Рейтинг: 0 / 0
Выбор СУБД
    #34351406
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerСудя по описанию, Вы говорите о весьма специфическом случае. На нормальных аукционах afaik торгуются до максимальной цены, а не до фиксированного времени завершения торгов.
eBay - это нормальный аукцион или нет?
Ради интереса найдите лот на iPod Nano 2Gb в последние 2 минуты торгов в вечернее время (американское) и полюбуйтесь на бурю страстей.

P.S.
Насколько я помню, у них активные лоты в завершающей стадии обрабатываются другим сервером.
...
Рейтинг: 0 / 0
Выбор СУБД
    #34352277
DPH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DPH
Гость
Yo.!
для того чтоб в случае сбоя воставновить ваш объект вы обязаны писать в персистент хранилище и не асинхронно а "сию секунду", т.е. тут съэкономить не удастся

Гм, на всякий случай сообщаю, что есть куча систем гарантированной доставки сообщения.
В некоторых случаях производительность при использовании MQ, например, сильно повышается.
Впрочем, это уже некоторая экзотика, я с ней дела непосредственно не имел, мне пока хватает синхнонных схем.

DPH
Я неоднократно играл с подобными схемами, выигрыш от варианта "update объекта в кэше, вставка изменения в базу" по сравнению с "update поля в базе" зачастую более чем в десять раз. Ну и, конечно, никаких блокировок (вернее, блокировка по объекту AppServer, но она очень быстрая).
неверю, геморой по синхранизации объекта с субд не окупится, расскажите plz что вы будете желать если после обновления объекта связь с субд пропала ?[/quot]

Гм, а зря не веришь. Синхронизация объекта с БД - элементарна:

в БД лежит начальное значение на некий момент времени,
при каждом изменении в отдельную таблицу в рамках транзакции пишется "дельта" (insert, без блокировок).
на AppServer в кэше живет только актуальное значение, кэш освобождается по времени или по переполнению, изменение кэша синхронизируется (это все практически бесплатно).
При откате транзакции кэш в AppServer, понятное дело, корректируется (что легко).
Если упал AppServer или значения в кэше нет - то новое значение рассчитываем по начальному и дельтам (единственная блокирующая транзакция, но очень редкая).

Реально на тестах такая схема показала примерно 2х кратный выигрыш при отсутствии конкуренции и 20ти кратный - при большой конкуренции по одному элементу. Да, разумеется, просто чтение значения в любом случае до БД не доходит (если есть запись в кэше).

Вообще, смотри архитектуру ebay, неэлементарные транзакции в больших системах - зло.
...
Рейтинг: 0 / 0
Выбор СУБД
    #34352293
DPH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DPH
Гость
softwarer
Если предположить, что ставки надо заведомо сохранять, безусловно, писать в хранилище нужно синхронно и с начала.
Вообще, если говорить об оччень больших системах, то кластерный MQ-сервер с гарантией доставки и высокопроизводительным хранилищем, заточенным именно на временное хранение сообщений дает ту же надежность, что и синхронное хранение (но уменьшает некоторые затраты и упрощает зачастую кластеризацию).
Но это уже недешевое удовольствие....

А 1000 операций в секунду можно получить и с бесплатным софтом и дешевым железом. Правда, на RAID придется потратиться. Ну и на программистов.
DB/2 Express C + log shipping в этом случае - замечательный выбор, все компоненты уже готовы, а кластер получается надежный и простой. И бесплатный...
...
Рейтинг: 0 / 0
Выбор СУБД
    #34352341
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton DemidoveBay - это нормальный аукцион или нет?
Не знаю. Возможно, я отстал от жизни; я вообще не слишком понимаю смысла аукциона на серийную вещь.
...
Рейтинг: 0 / 0
Выбор СУБД
    #34352548
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerНе знаю. Возможно, я отстал от жизни; я вообще не слишком понимаю смысла аукциона на серийную вещь. В данном случае - купить дешевле.
...
Рейтинг: 0 / 0
11 сообщений из 111, страница 5 из 5
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор СУБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]