2 Replies Latest reply on Jun 3, 2018 2:49 PM by Ken Flerlage

    Object Orientated Database connection strategy

    Damien Minter

      I am building some dashboards to automate a large amount of internal reporting. I am using data from an Object Orientated databases. I work for a large multinational organisation and will be extracting a large amount of data and I want to know what would be the best way to do this.

       

      1. Extract this into a relational database such as SQL Server

      2. Use Tableau's API for non supported data connections

       

      https://onlinehelp.tableau.com/current/api/sdk/en-us/help.htm#SDK/tableau_sdk.htm%3FTocPath%3D_____1

       

      I would want to refresh the data sources (potentially live connection). Would performance be enhanced if I extracted historical data into SQL Server / or a Tableau file (what would make more sense). It looks like the API loops through each cell to create a Tableau data set so assume this wouldn't be optimal running for the entire data set each time.

       

      I will be utilizing Tableau Server, but as I haven't got that far down the road, I don't know the capabilities and limitations in doing this. I am not from a Tech background, but am leading this project and need to be able to communicate the best way of doing this. 

       

      Some information about the database

       

      • It is written in C++ for performance reasons, but its main API is in Python
      • is a multithreaded C++ server which runs primarily on linux. We wrote our own database server to support features like:
      • Support for thousands of clients (for grid computing)
      • Minimizing read/write contention by using optimistic locking and foregoing read isolation.
      • Seamless schema migration. Support for lazy migration of old schemas.
      • Globally synchronized via log replication.
      • Transaction log exposed as a first class api for a consistent way to support notifications/auditing/replication.
      • Multiple write masters across WAN links, no single point of failure
      • Optimistic locking
      • Conflict resolution at an object/transaction granularity
      • Authentication/entitlements as yourself instead of generic db admin accounts 

       

      Appreciate anyone opinion who has any expertise in this

      Damien