Overview
Learner Service provides APIs related to resources such as Organisations, Users (i.e. learner), Course Batches, Locations, Badges, Pages etc.
...
Approach | Pros | Cons |
---|---|---|
Cassandra Trigger |
|
|
Use audit logging of Apache Cassandra 4.0 |
|
|
Change Data Capture |
|
|
ecAudit (Ericsson Cassandra Audit) |
|
|
...
Indexer Mapping
Code Block |
---|
{ "user": { "indexTypeindex": "user", "key": "id", "visibilityEnabled": true }, "user_education": { "indexTypeindex": "user", "path": "education", "key": "userid", "visibilityEnabled": true }, "user_job_profile": { "indexTypeindex": "user", "path": "jobProfile", "key": "userid", "visibilityEnabled": true }, "user_org": { "indexTypeindex": "user", "path": "organisations", "key": "userid", "visibilityEnabled": true }, "address": { "types": { "usr": { "indexTypeindex": "user", "path": "address", "key": "userid", "visibilityEnabled": true }, "edu": { "indexTypeindex": "user", "path": "education.address", "key": "userid", "visibilityEnabled": true }, "job": { "indexTypeindex": "user", "path": "jobProfile.address", "key": "userid", "visibilityEnabled": true }, "org": { "indexTypeindex": "org", "path": "address", "key": "orgid" // TODO }, } }, "organisation": { "indexTypeindex": "org", "key": "id" }, "course_batch": { "indexTypeindex": "cbatch", "key": "id" }, "user_courses": { "indexTypeindex": "usercourses", "key": "id" }, "location": { "indexTypeindex": "location", "key": "id" }, "visibility": { "indexTypeindex": { "user": { "table": "user", "column": "profilevisibility", "indexType": "profilevisibility", "key": "id" } } } } |
Action Points
1) Test Cassandra Triggers and ecAudit with different data types (e.g. list, map, blob etc.)
Please refer Cassandra Audit Logging for Different Types
2) Can Cassandra Trigger be applied per column?
No (refer Apache Cassandra Trigger documentation)
3) Performance comparison of Cassandra Triggers and ecAudit
Please refer Performance Comparison of Cassandra Audit Log Options.
4) Drop data in user_education, user_job_profile and address tables based on discussion with Rahul and Rayulu
5) Rename indexType in mapping to ____ ?
index