Я хочу создать базу данных Oracle для микросервиса. Стоит ли придерживаться стандартных XXX_OWNER и XXX_USER или перейти на более простой однопользовательский режим, который владеет схемой и использует ее?
В монолитных приложениях базы данных обычно бывают общими для нескольких приложений. Это требует двух пользователей, и это лучший метод для монолитных приложений. XXX_OWNER владеет схемой, и в ней создаются все объекты. XXX_USER используется приложением и имеет доступ к объектам, созданным в схеме SCHEMA_OWNER. Однако это сложный подход в мире микросервисов, где каждый микросервис имеет свою собственную схему и привязан только к этой услуге. Существуют ли недостатки в отказе от двухпользовательской стратегии и переходе к однопользовательской стратегии в случае микросервисов.
Старый подход
CREATE USER SCHEMA_OWNER identified by xxx;
CREATE USER APP_USER identified by xxx;
CREATE TABLE XXX_TEST (ABC VARCHAR(50 BYTE) PRIMARY KEY);
GRANT SELECT, INSERT, UPDATE, DATE on XXX_TEST TO APP_USER;
CREATE PUBLIC SYNONYM XXX_TEST FOR SCHEMA_OWNER.XXX_TEST
Новый подход
CREATE USER APP_USER identified by xxx;
CREATE TABLE XXX_TEST (ABC VARCHAR(50 BYTE) PRIMARY KEY);
Однопользовательский, кажется, проще в разработке, развертывании и эксплуатации. Однако в команде существует обеспокоенность по поводу отхода от вековой передовой практики практики двух пользователей. Что было бы лучше в мире микросервисов для баз данных?