Консистентность данных в Postgre

 
 
 
Сообщения:73
Господа, добрый день!

Устраиваюсь на новую работу Java-разработчиком. И мне выслали тестовое задание (как мне кажется несколько странное).
Сначала даю коротенькую постановку задачи, а чуть ниже объясню почему я так думаю.

Quote:
Разработать приложение, предоставляющее простой интерфейс для загрузки файлов xls. При этом в БД(желательно использовать Postgres) должны сохраняться все числовые значения из первого столбца(номера телефонов).

Реализовать поток или другое приложение, для постоянного мониторинга таблицы и проставления статуса каждому номеру, мобильный или нет. Признак мобильности определять по алгоритму: номер начинается с 7, +7 или 8 и кроме этого содержит 10 цифр.

Реализовать возможность параллельной(одновременной работы) нескольких экземпляров приложений без помехи друг другу.

Предполагаемая структура таблицы:

Phones:

id

phone (int)

is_mobile (boolean)

is_locked (boolean)


Ну допустим написал я приложение для мониторинга в несколько потоков. Единственное предназначение потоков прочитать таблицу и если не установлен признак is_mobile (как я понял он должен быть nullable), я смотрю на номер, проставляю правильный is_mobile. Таблица или записи в ней будет правильно блокироваться самой СУБД при UPDATE-ах и SELECT-ах. Я не нашел для себя ни одного кейса, когда потоки (или разные экземпляры приложений) могут как-то помешать друг-другу. Отсюда вопрос: нафига нам вообще поле is_locked ? Разве реляционных СУБД вообще такие поля заводятся? Я в своей практике ни разу такого не встречал.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет