SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
CoreDB

A plug-in based, extensible database solution.


By Huangtao (Sean) Xiong (Now Research Engineer at NICTA)
   Xu Zhao (Now Software Engineer at Ryarc Digital)
   Van Munin Chhieng (Now Software Engineer at MQ Group)


   Service Oriented Computing Research Group
   School of Computer Science And Engineering
Architecture
Overview
   Performs powerful object relational mapping.
   Offers developers:
       Query on databases      – CoreDB Base
       Trace historical data   – CoreDB Tracing
       Apply security policies – CoreDB Security
       And do fulltext search – CoreDB FulltextSearch
    programmatically.
CoreDB Object Relational Mapping
   Abstracts relational databases to java objects:
        Database          – DatabaseSchema
        DB tables         – EntityClass
        DB table column – AttributeClass
        Table data row    – EntityInstance
   Easily build DB connection and generate DB mapping
    By creating EntityController Object
    String path = “credential.txt”; // stores DB connection parameters
    IEntityController iec= new EntityController(path);
   No Mapping configuration file, all mappings stored in memory
   No table beans and daos will be generated
    Get Table definition object by calling EntityClass ec = iec.getEntityClass(tableName);
    Get Table columns object by calling ec.getAttributeClasses();
    Or get particular column: iec.getAttributeClass(tableName, columnName);
CoreDB Base

Query on Database (CRUD Operations)
   CRUD on Data:
    CoreDB Base offers developers to create, read, update
    and delete data rows and do joins among tables
    programmatically.
   CRUD on Data Schema:
    CoreDB Base offers developers to create tables, get table
    definitions, update tables (add/update/delete columns)
    and delete tables programmatically
Example – Create a data row

   // set the table name
    String tableName = “the name of table”;
   // create entity instance object for the table
    EntityInstance entity = iec.createEntityInstanceFor(tableName);
   // to set the value of columns
    entity.set(columnName, columnValue);
   //for example, set value for a string type column 'FirstName'
    entity.set("FirstName", “John”);
   // Insert into DB
    iec.createEntity(entity);
Example – Create a table
   // Create a list of AttributeClasses (Columns)
    List<AttributeClass> acl = new LinkedList<AttributeClass>();
    AttributeClass ac = AttributeClass(“ColumnName”, Integer.class);
    ac. setPrimaryKey(true); ac. setAutoIncrement(true);
    acl.add(ac);
   // Create index for table
    List<IndexClass> icl = new LinkedList<IndexClass>();
    IndexClass indexClass = new IndexClass(ac, true); // true means unique index
    icl.add(indexClass);
   // Create an EntityClass Object (table)
    EntityClass ec = new EntityClass(“TableName”, acl, icl);
   // Create table in DB
    iec.deployDefinition(ec);
CoreDB Tracing

   Extends CoreDB Base
   Developers can read all the historical data and know
    who is the operator for every data modification
   Can be easily applied on existing Data tables.
    By calling iec.initializeMode(true, Mode.TRACING);
   Do not do any modification on existing Data tables
   Can be easily de-tracing – remove tracing.
User Case

John Simth is the CEO of company A and he has been worked in A for 12
years. He was promoted twice from Manager to Director (in 2000) and
then CEO (in 2004) over the past 12 years.

HR's record in data table 'employee'

   ID    FN     LN       DOB          Address     Tel        Title    Salary    Start date


   001   John    Simth   13/07/1963   Queens st    1234567      CEO     500 k   02/02/1999
User Case with Tracing

      HR's record in data table 'employee'
       ID      FN           LN         DOB           Address       Tel           Title            Salary         Start date


       001     John          Simth      13/07/1963    Queens st      1234567          CEO           500 k         02/02/1999




      HR's tracing record (between 01/01/1999 and currnet)

ID     FN       LN               DOB          Address      Tel           Title           Salary            Start date   Last          Last
                                                                                                                        Updated       Update
                                                                                                                        By            Date
001     John        Simth        13/07/1963    Queens st     1234567           CEO          500 k          02/02/1999      Linda      04/04/2004

001     John        Simth        13/07/1963     King st      1234567       Director         300 k          02/02/1999      Linda      02/02/2001

001     John        Simth        13/07/1963     Park St        1234567     Manager          150 k          02/02/1999         Linda   02/02/1999
CoreDB Security
   Extends CoreDB Base
   Offers data access controlling (CRUD)
        Controlling on users
                     User group level
                      


                    user level


        Security on Data
                   Data rows
                      


                  Table columns


   Can be easily applied on existing Data tables.
    By calling iec.initializeMode(true, Mode.SECURITY);
   Do not do any modification on existing Data tables
   Can be easily removed
User Case with Security

HR's record in data table 'employee' (Viewed by HR Administrator)
 ID    FN      LN       DOB          Address      Tel         Title         Salary     Start date


 001   John     Simth   13/07/1963    Queens st     1234567       CEO           ***    02/02/1999




HR's record in data table 'employee' (Viewed by Payroll Adviser)
 ID    FN      LN       DOB          Address      Tel         Title         Salary     Start date


 001   John     Simth         ***     Queens st     1234567       CEO          500 k   02/02/1999




HR's record in data table 'employee' (Viewed by other employees)
 ID    FN      LN       DOB          Address      Tel         Title         Salary     Start date


 001    John    Simth         ***        ***        1234567           CEO        ***    02/02/1999
CoreDB Fulltext Search

   Extends CoreDB Base
   Applies Fulltextsearch on tables OR table columns
   Index data can be stored in DB, File or Memory
   Easily build FTS index and remove FTS index
   Supports CUD operations with index
   Supports FUZZ read and result Entities will be sorted by
    similarity
   Compatible with Luence Query Syntax
What's the next?

   CoreDB DataCube
   Researcheres and Engineers in SOC are working on
    CoreDB extensions
   Probably will be open source soon????
Thank you!

Questions are welcome!!

Weitere ähnliche Inhalte

Andere mochten auch

Company presentation
Company presentationCompany presentation
Company presentationJames Hilbert
 
Phase 2b emerge study of cdx 011
Phase 2b emerge study of cdx 011Phase 2b emerge study of cdx 011
Phase 2b emerge study of cdx 011James Hilbert
 
Saras's - Planning tool
Saras's - Planning toolSaras's - Planning tool
Saras's - Planning toolhsceunice
 
Docetaxel Versus Docetaxel/Cisplatin in NSCLC
Docetaxel Versus Docetaxel/Cisplatin in NSCLCDocetaxel Versus Docetaxel/Cisplatin in NSCLC
Docetaxel Versus Docetaxel/Cisplatin in NSCLCJames Hilbert
 
Lovenox trial scheduling
Lovenox trial schedulingLovenox trial scheduling
Lovenox trial schedulingJames Hilbert
 
Novel therapies in hcc
Novel therapies in hccNovel therapies in hcc
Novel therapies in hccJames Hilbert
 

Andere mochten auch (9)

Company presentation
Company presentationCompany presentation
Company presentation
 
Phase 2b emerge study of cdx 011
Phase 2b emerge study of cdx 011Phase 2b emerge study of cdx 011
Phase 2b emerge study of cdx 011
 
Saras's - Planning tool
Saras's - Planning toolSaras's - Planning tool
Saras's - Planning tool
 
Docetaxel Versus Docetaxel/Cisplatin in NSCLC
Docetaxel Versus Docetaxel/Cisplatin in NSCLCDocetaxel Versus Docetaxel/Cisplatin in NSCLC
Docetaxel Versus Docetaxel/Cisplatin in NSCLC
 
Goldman mnta
Goldman mntaGoldman mnta
Goldman mnta
 
Lovenox trial scheduling
Lovenox trial schedulingLovenox trial scheduling
Lovenox trial scheduling
 
Novel therapies in hcc
Novel therapies in hccNovel therapies in hcc
Novel therapies in hcc
 
Optr 04052011
Optr 04052011Optr 04052011
Optr 04052011
 
Nsclc 2nd line
Nsclc 2nd lineNsclc 2nd line
Nsclc 2nd line
 

Kürzlich hochgeladen

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Kürzlich hochgeladen (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Core db framework

  • 1. CoreDB A plug-in based, extensible database solution. By Huangtao (Sean) Xiong (Now Research Engineer at NICTA) Xu Zhao (Now Software Engineer at Ryarc Digital) Van Munin Chhieng (Now Software Engineer at MQ Group) Service Oriented Computing Research Group School of Computer Science And Engineering
  • 3. Overview  Performs powerful object relational mapping.  Offers developers:  Query on databases – CoreDB Base  Trace historical data – CoreDB Tracing  Apply security policies – CoreDB Security  And do fulltext search – CoreDB FulltextSearch programmatically.
  • 4. CoreDB Object Relational Mapping  Abstracts relational databases to java objects:  Database – DatabaseSchema  DB tables – EntityClass  DB table column – AttributeClass  Table data row – EntityInstance  Easily build DB connection and generate DB mapping By creating EntityController Object String path = “credential.txt”; // stores DB connection parameters IEntityController iec= new EntityController(path);  No Mapping configuration file, all mappings stored in memory  No table beans and daos will be generated Get Table definition object by calling EntityClass ec = iec.getEntityClass(tableName); Get Table columns object by calling ec.getAttributeClasses(); Or get particular column: iec.getAttributeClass(tableName, columnName);
  • 5. CoreDB Base Query on Database (CRUD Operations)  CRUD on Data: CoreDB Base offers developers to create, read, update and delete data rows and do joins among tables programmatically.  CRUD on Data Schema: CoreDB Base offers developers to create tables, get table definitions, update tables (add/update/delete columns) and delete tables programmatically
  • 6. Example – Create a data row  // set the table name String tableName = “the name of table”;  // create entity instance object for the table EntityInstance entity = iec.createEntityInstanceFor(tableName);  // to set the value of columns entity.set(columnName, columnValue);  //for example, set value for a string type column 'FirstName' entity.set("FirstName", “John”);  // Insert into DB iec.createEntity(entity);
  • 7. Example – Create a table  // Create a list of AttributeClasses (Columns) List<AttributeClass> acl = new LinkedList<AttributeClass>(); AttributeClass ac = AttributeClass(“ColumnName”, Integer.class); ac. setPrimaryKey(true); ac. setAutoIncrement(true); acl.add(ac);  // Create index for table List<IndexClass> icl = new LinkedList<IndexClass>(); IndexClass indexClass = new IndexClass(ac, true); // true means unique index icl.add(indexClass);  // Create an EntityClass Object (table) EntityClass ec = new EntityClass(“TableName”, acl, icl);  // Create table in DB iec.deployDefinition(ec);
  • 8. CoreDB Tracing  Extends CoreDB Base  Developers can read all the historical data and know who is the operator for every data modification  Can be easily applied on existing Data tables. By calling iec.initializeMode(true, Mode.TRACING);  Do not do any modification on existing Data tables  Can be easily de-tracing – remove tracing.
  • 9. User Case John Simth is the CEO of company A and he has been worked in A for 12 years. He was promoted twice from Manager to Director (in 2000) and then CEO (in 2004) over the past 12 years. HR's record in data table 'employee' ID FN LN DOB Address Tel Title Salary Start date 001 John Simth 13/07/1963 Queens st 1234567 CEO 500 k 02/02/1999
  • 10. User Case with Tracing HR's record in data table 'employee' ID FN LN DOB Address Tel Title Salary Start date 001 John Simth 13/07/1963 Queens st 1234567 CEO 500 k 02/02/1999 HR's tracing record (between 01/01/1999 and currnet) ID FN LN DOB Address Tel Title Salary Start date Last Last Updated Update By Date 001 John Simth 13/07/1963 Queens st 1234567 CEO 500 k 02/02/1999 Linda 04/04/2004 001 John Simth 13/07/1963 King st 1234567 Director 300 k 02/02/1999 Linda 02/02/2001 001 John Simth 13/07/1963 Park St 1234567 Manager 150 k 02/02/1999 Linda 02/02/1999
  • 11. CoreDB Security  Extends CoreDB Base  Offers data access controlling (CRUD)  Controlling on users User group level   user level  Security on Data Data rows   Table columns  Can be easily applied on existing Data tables. By calling iec.initializeMode(true, Mode.SECURITY);  Do not do any modification on existing Data tables  Can be easily removed
  • 12. User Case with Security HR's record in data table 'employee' (Viewed by HR Administrator) ID FN LN DOB Address Tel Title Salary Start date 001 John Simth 13/07/1963 Queens st 1234567 CEO *** 02/02/1999 HR's record in data table 'employee' (Viewed by Payroll Adviser) ID FN LN DOB Address Tel Title Salary Start date 001 John Simth *** Queens st 1234567 CEO 500 k 02/02/1999 HR's record in data table 'employee' (Viewed by other employees) ID FN LN DOB Address Tel Title Salary Start date 001 John Simth *** *** 1234567 CEO *** 02/02/1999
  • 13. CoreDB Fulltext Search  Extends CoreDB Base  Applies Fulltextsearch on tables OR table columns  Index data can be stored in DB, File or Memory  Easily build FTS index and remove FTS index  Supports CUD operations with index  Supports FUZZ read and result Entities will be sorted by similarity  Compatible with Luence Query Syntax
  • 14. What's the next?  CoreDB DataCube  Researcheres and Engineers in SOC are working on CoreDB extensions  Probably will be open source soon????