У меня есть таблица сотрудников в cassandra, используемая сотрудником Microservice, которая выглядит следующим образом
CREATE TABLE Employee(
EmpID string
ServiceLineID string
DepartmentID string
FirstName string
LastName string
Address string
Primary Key(EmpID, ServiceLineID, DepartmentID)
)
Теперь отображение ID, ServiceLineID и DepartmentID требуется для всех моих микросервисов, следовательно, все таблицы микросервисов имеют это отображение
Например, для моего сотрудника транспорта Miroservice имеет таблицу EmployeeTransport и BusTable, который выглядит следующим образом
CREATE TABLE EmployeeTransport(
EmpID string
ServiceLineID string
DepartmentID string
FirstName string
LastName string
BusID string
BusName string
MonthlyFare string
Primary Key(EmpID)
)
CREATE TABLE Bus(
BusID string
EmpID string
ServiceLineID string
DepartmentID string
FirstName string
LastName string
Destination string
MonthlyFare string
Primary Key(BusID)
)
У меня есть много таблиц, которые поддерживают это сопоставление EmplyeeID-ServiceLineID-DepartmentID, какобрабатывать ли изменения этого сопоставления?
Мне придется информировать каждую микросервисную службу об изменении сопоставления, но таблицы, в которых индексируется информация сопоставления, не могут быть обновлены в Cassandra, и более сложной задачей являются таблицы, в которых я не делаюиндексировать информацию о сопоставлении, например, таблицу шин, и в этом случае мне придется выполнить полное сканирование таблицы (проверить все ключи разделов), чтобы проверить наличие необходимых записей и обновить их, если они существуют.Есть ли лучший способ справиться с такими сценариями.