What will you learn from this blog:
- What our Open Source software development offerings are and how you can work with them
- The first blog in this series details our offerings in terms of, database drivers and interfaces, cloud, data science, analytics and machine learning, business intelligence, data virtualization and access restriction, distributed computing, administration and monitoring, data migration
- The next, and final, blog in the series will cover software testing
How can you work with our offerings?
For the second blog of our Open Source series, we are focusing on our capabilities relating to software development. From Script Languages to Hibernate Integration, we will take you through what’s available to you and how you can use it to your benefit. So, let’s get started.
All Script Languages we support for scripts — except the built-in Lua — need so called ‘language containers’ to run on. Exasol starts those container environments whenever you run a script and hands over the job of running the script to them.
You can find ready-to-use containers in the script-languages-release repository. In case you ever think about building your own container — for example if your favorite programming language is not on the list — check out the script-languages repo.
SQL Statement Builder
The Exasol sql-statement-builder abstracts programmatic creation of SQL statements. It is intended to replace ubiquitous string concatenation solutions which make the code hard to read and are prone to error and security risks.
Using the statement builder you get cleaner code with less repetition and compile time structure checking.
In the etl-utils repository you find the Query wrapper, a lightweight object-oriented Lua script used as a library to build procedural ETL jobs in Lua. It provides uniform handling of query parameters, errors and logging into log tables and iterating over result sets.
Hibernate provides an Object Relational Mapper (ORM) for RDBMs written in Java. In the hibernate-exasol project we implement a hibernate interface that allows mapping object into and from our analytics database.
SQL Alchemy Integration
Another Object Relational Mapper for which we have a mapper is SQL Alchemy, a Python SQL and ORM framework. Check out sqlalchemy-exasol.
The next step
We currently have 41 public repositories on GitHub and, with the help of our user community, this number continues to grow as we work together to improve our offerings. If you want to contribute, please go ahead and share your ideas, bug reports or code commits on GitHub.
Next week, for the final blog in this series, we will move our attention to software testing. Keep an eye on this page to learn more.