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
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