Gsoc 2016 - Document Based NoSQL Support for WSO2 Identity Server Database
Description
WSO2 Identity Server out of the box supports LDAP, Microsoft Active Directory and Relational Databases as User Stores. With the fast growth of enterprise level NoSQL databases, it is important to support NoSQL user stores to improve the value that WSO2 Identity Server can deliver to enterprises in terms of user data management.
In order to support NoSQL, It is expected to customize or write a new User Store Manager that supports storing/retrieving data from NoSQL databases.
The database architecture has to be completely redesigned for optimizing the performance of operations. Initially, new document collections can be created for each database table referring the current relational database schema. Some of the document collections can be combined together as embedded documents or new data models should be created for performance improvement considering the following facts.
- Document size considerations
- Complexity of data structures
- Data Consistency
The performance has to be further improved by creating appropriate indexes.
Initially the project should be done on MongoDB 3.2 which is a Document based NoSQL database that is widely used . Test automation should be done appropriately as Unit Tests or Integration Tests for all the operations in the userstore manager.
Based on completion, other Document based databases such as CouchDB, RavenDB can be considered for implementation.
Deliverables
- Database Architecture Diagrams
- Custom Userstore Manager
- Automated Tests
- Developer documentation
- Articles/blog posts on using the custom userstore manager
Skills Needed
- Java
- Database knowledge and SQL
- Understanding of NoSQL
- MongoDB 3.2
- Using MongoDB with Java
- Test Automation (Junit, Selenium)
Reference : WSO2 GSoC Project Proposals
0 comments: