Как влияет выбор моделей транзакций базы данных: ACID (атомарность, непротиворечивость, изоляция, долговечность) или < href="https://en.wikipedia.org/wiki/Eventual_consistency" rel="nofollow">BASE (Basic Availability, Soft State и Eventual Consistency) влияет на дизайн UX?

Может ли кто-нибудь поделиться примером того, как выбор одной из этих моделей базы данных влияет на дизайн взаимодействия с пользователем?

4
Midas 14 Апр 2016 в 19:00
1
Почему бы не объединить их и не использовать СОЛЬ?
 – 
user82294
15 Апр 2016 в 05:00
Как это работает?
 – 
gurvinder372
16 Апр 2016 в 14:33
Комментарий был химической шуткой, извините. Если смешать кислоту и основание, получится соль
 – 
user82294
16 Апр 2016 в 22:19
SALT потенциально может означать «простой», «доступный», «логический» и «протестированный» :)
 – 
Michael Lai
1 Ноя 2019 в 03:16

4 ответа

Лучший ответ

Дизайн базы данных имеет решающее значение!

Как и все архитектурные решения. Вот почему архитектор программного обеспечения должен быть частью процесса UXD.

Выбор внутренней архитектуры — это не то, что может решить UXD, но факторы, с которыми сталкивается пользователь, могут быть оценены с точки зрения UX.

Эти соображения базы данных повлияют на работу с продуктом:

  • Является ли продукт высокотранзакционным?
  • Являются ли «грязные данные» серьезной проблемой?
  • Будут ли преобразования данных сильно запрошены?
  • Уверенность или скорость важнее?
  • Существуют ли устаревшие или сторонние серверные части для интеграции?
  • ... так далее ...

^ Все эти факторы будут влиять на отзывчивость интерфейса и доверие, установившееся с пользователем.

3
plainclothes 14 Апр 2016 в 20:28
Спасибо за Ваш ответ. +1 за это. Что, если software architect не является частью процесса UXD? Что, если UX Researcher потребовалось больше времени для определения факторов, с которыми сталкивается пользователь, с точки зрения UX, а Software Architect тем временем продвинулся дальше?
 – 
gurvinder372
16 Апр 2016 в 09:37
В реальном мире каждый должен взять на себя ответственность за впечатления от продукта. IOW, архитектор системы должен думать о том, как к ней будут обращаться, манипулировать, потреблять.
 – 
plainclothes
16 Апр 2016 в 09:41
Я думаю, что UX-дизайнеры, являющиеся экспертами в области информационной архитектуры, захотят заглянуть под капот базы данных, чтобы понять, как установить логическую связь между структурой данных и тем, как пользователь потребляет информацию на основе своей ментальной модели. Поэтому он должен быть последовательным с точки зрения UX и архитектуры решения.
 – 
Michael Lai
1 Ноя 2019 в 03:17

Это расширение ответа Эндрю Мартина и краткое обсуждение комментариев. Я указываю на ответ Эндрю как на краткий и простой правильный ответ:

Создание базы данных и манипулирование ею никогда не должны влиять на дизайн UX.

Мы слишком часто слышим опровержение правильного ответа Эндрю:

наземные реалии другие. Дизайн и архитектура базы данных — это первое, что разрабатывается для приложения, а не для его UX.

Но этот дизайн базы данных должен быть частью дизайна UX. Если база данных была разработана до того, как были определены потребности пользователей, это было сделано слишком рано.

Когда начинается «UX-дизайн»?

Пользовательский опыт начинается с момента создания продукта. Пока кто-то с «Пользовательским опытом» в своем названии может не сидеть за столом, опыт, который будет представлен пользователю, уже начался. Знание потребности, которую решает продукт, и того, как представить это решение, — это начало формирования пользовательского опыта вашего продукта.

Проблема заключается в том, что в большинстве случаев компании не совсем понимают это. Они строят инфраструктуру вокруг своих потребностей, а не потребностей пользователей. Затем они пытаются навязать эту структуру рабочему процессу пользователя.

Именно люди, у которых в названии должности указано "Взаимодействие с пользователем", в первую очередь думают о пользователе, поэтому эти люди должны участвовать в разговоре с самого начала. Будем надеяться, что люди без «UX» в названии должности также думают о пользователе.

enter image description here

Рекомендации пользователя по базам данных

Снова кусок опровержения:

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

Такой дизайн выгоден пользователю. Этот дизайн определяется процессом, в основе которого лежат потребности пользователей. То, как пользователь намеревается взаимодействовать с системой, должно определять, как спроектирована база данных и какие модели транзакций следует (или не следует использовать).

Чтобы использовать аналогию API:

Является ли RESTful API лучшим или имеет смысл использовать SOAP API?

Оба имеют очень разные преимущества в определенных ситуациях. Какой тип API будет выбран, абсолютно повлияет на конечную точку UX несколькими разными способами. Но «UX Design» должен направить процесс принятия решения на выбор наиболее подходящего API.

Точно так же, какие модели транзакций базы данных использовать. Что на самом деле делает пользователь и какая модель транзакций подходит для этого лучше всего?

«Я знаю, что это может показаться неправильным для UX-дизайнера»

Вот в чем дело ... «UX-дизайнер» — это расплывчатый термин, который не был определен в контексте этого вопроса. Давайте, ради аргумента, применим «UX-дизайнер» к тому, кто работает только на этапе «Дизайн» изображения выше. Кто-то, кто, так сказать, «просто рисует красивые вайрфреймы».

Это звучит неправильно для этого «UX-дизайнера», потому что этот дизайнер должен работать, исходя из каждого правильного предположения, что то, что разработано на бэкэнде, было сделано с учетом наилучших интересов пользователя. Этот дизайнер должен быть уверен, что «исследователь UX» был частью первоначального процесса.

Возвращаясь к одному из начальных пунктов — даже если кто-то со словом «UX» в названии до сих пор не участвовал в каждой фазе: все, что было сделано, влияет на пользователя, делая все это частью дизайна UX.

Вопрос, перевернутый

Как дизайн UX влияет на выбор моделей транзакций ACID или BASE?

С точки зрения пользовательского опыта это правильный вопрос. Как сосредоточенность на пользователе влияет на выбор системного уровня.

Он начинается с разработки стратегии продукта, за которой следует анализ потребностей пользователей и их рабочих процессов, а затем определение спецификаций приложения. Теперь у вас достаточно информации, чтобы решить, какая модель транзакции лучше.

4
Community 16 Июн 2020 в 13:51
1
При написании этого ответа @plainclothes очень хорошо указал, какие аспекты базы данных могут повлиять на работу пользователя. Обратите внимание, что каждый из его пунктов списка на самом деле является потребностью пользователя! Задавание каждого из этих вопросов должно управлять дизайном базы данных, который является частью более широкого процесса UX-дизайна.
 – 
Nicholas Pappas
14 Апр 2016 в 21:14
Есть ли у вас какие-либо исследования, анализ или другая подтверждающая документация, подтверждающая внутреннюю субъективность?
 – 
Confused
14 Апр 2016 в 21:40
«Дизайн и архитектура базы данных — это первое, что разрабатывается для приложения, а не для его UX». Я не могу вспомнить ни одного случая, когда это было так. Однако я могу вспомнить множество продуктов и приложений, разработанных с учетом особенностей баз данных. Гугл, например.
 – 
Confused
14 Апр 2016 в 21:42
1
- Если вы снова прочитаете мой ответ, вы увидите, что цитата, на которую вы ссылаетесь, является опровержением ответа Эндрю Мартина; цитата, которую я оспариваю в контексте того, что дизайн базы данных является частью дизайна UX. Что касается субъективных заявлений, которые я сделал, пожалуйста, помогите мне найти их, чтобы я мог ответить на ваши вопросы. Процесс дизайна, ориентированного на пользователя, хорошо изучен в области удобства использования и, как правило, не считать субъективным понятием.
 – 
Nicholas Pappas
14 Апр 2016 в 21:49
Большая часть аппаратного и программного «дизайна» является результатом попыток коммерческого использования основных технологических разработок, как в аппаратном, так и в программном обеспечении.
 – 
Confused
15 Апр 2016 в 10:10

Задержки важны для UX.

Некоторые решения и шаблоны, используемые в пользовательском интерфейсе, которые работают гладко (кажется мгновенным) с BASE, вызывают проблемы с ACID из-за недопустимых задержек ответа.

3
Nick Rassadin 14 Апр 2016 в 21:13
Но я (метафорически) работаю в среде, где целостность и непротиворечивость данных абсолютно необходимы. Обеспокоен ли я задержкой в ​​запросах транзакций, зная, что то, что я запрашиваю у системы, является абсолютно правильным состоянием системы?
 – 
Nicholas Pappas
14 Апр 2016 в 21:32
Спасибо, но Delays — не единственная significant вещь для UX. Доверие пользователя к системе (скажем, к чему-то вроде ERP) весьма значительно. Не могли бы вы решить и это?
 – 
gurvinder372
16 Апр 2016 в 09:35

Создание базы данных и манипулирование ею никогда не должны влиять на дизайн UX.

Дизайн базы данных должен облегчать и оптимизировать любые процессы, требуемые для операций на стороне сервера. Поскольку это происходит на стороне сервера, это не должно влиять на сторону клиента и, следовательно, не должно влиять на дизайн UX.

Единственное возможное влияние базы данных на UX — если она возвращает неверные или неполные данные или работает медленно. В любом случае это проблемы дизайна базы данных, а не проблемы дизайна UX.

3
Andrew Martin 11 Апр 2016 в 10:38
6
should never affect the UX design Друг мой, наземные реалии другие. Дизайн и архитектура базы данных — это первое, что разрабатывается для приложения, а не для его UX. Я знаю, что это может показаться неправильным для UX-дизайнера, но это реальность.
 – 
gurvinder372
11 Апр 2016 в 12:29
3
Мой комментарий остается в силе — дизайн базы данных не должен влиять на UX
 – 
Andrew Martin
11 Апр 2016 в 12:34
1
Поправьте меня, если я ошибаюсь: я думаю, что @AndrewMartin имеет в виду, что дизайн БД никогда не должен отрицательно влиять на опыт. Это фактор, о котором пользователю никогда не следует думать, точно так же, как и об используемой внешней библиотеке.
 – 
plainclothes
14 Апр 2016 в 20:31
1
Вы также можете уменьшить влияние технологии на взаимодействие с пользователем (которое перетекает в пользовательский интерфейс), применяя архитектуру решения MVC или ее гибридную версию. Также возможно, что дизайн UX может повлиять на дизайн базовой базы данных, но я считаю, что целостность и согласованность данных должны иметь приоритет, потому что доверие и стабильность в приложении лежат в основе всех других улучшений взаимодействия с пользователем.
 – 
Michael Lai
1 Ноя 2019 в 03:22