From f6b79c13da48c4801bc4bee253d5570ee5263fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20K=C3=B6nig?= Date: Thu, 15 Jun 2017 13:21:49 +0200 Subject: [PATCH] Add turbodbc + arrow blog post --- site/_data/contributors.yml | 3 + site/_posts/2017-06-15-turbodbc-arrow.md | 113 +++++++++++++++++++++++ site/img/turbodbc_arrow.png | Bin 0 -> 75697 bytes 3 files changed, 116 insertions(+) create mode 100644 site/_posts/2017-06-15-turbodbc-arrow.md create mode 100644 site/img/turbodbc_arrow.png diff --git a/site/_data/contributors.yml b/site/_data/contributors.yml index 7bed83d2182..2a8d95b77b2 100644 --- a/site/_data/contributors.yml +++ b/site/_data/contributors.yml @@ -29,4 +29,7 @@ apacheId: julienledem githubId: julienledem role: PMC +- name: Michael König + apacheId: MathMagique + githubId: MathMagique # End contributors.yml diff --git a/site/_posts/2017-06-15-turbodbc-arrow.md b/site/_posts/2017-06-15-turbodbc-arrow.md new file mode 100644 index 00000000000..505cbb8d468 --- /dev/null +++ b/site/_posts/2017-06-15-turbodbc-arrow.md @@ -0,0 +1,113 @@ +--- +layout: post +title: "Connecting relational databases to the Apache Arrow world with turbodbc" +date: "2017-06-15 13:00:00 +0200" +author: MathMagique +categories: [application] +--- + + +The [Apache Arrow][1] project set out to become the universal data layer that +connects data processing systems without incurring serialization costs or +compromising on performance on a more general level. While relational databases +still lag behind in Apache Arrow adoption, the Python database module [turbodbc][2] +brings Apache Arrow support to these databases using a much older, more +specialized data exchange layer: [ODBC][3]. + +ODBC is a database interface that offers developers the option to transfer data +either in row-wise or column-wise fashion. Previous Python ODBC modules typically +use the row-wise approach, and often trade repeated database roundtrips for simplified +buffer handling. This makes them less suited for data-intensive applications, +particularly when interfacing with modern columnar analytical databases. + +In contrast, turbodbc was designed to leverage columnar data processing from day +one. Naturally, this implies using the columnar portion of the ODBC API. Equally +important, however, is to find new ways of providing columnar data to Python users +that exceed the capabilities of the row-wise API mandated by Python’s [PEP 249][4]. +Turbodbc has adopted Apache Arrow for this very task with the recently released +version 2.0.0: + +``` +>>> from turbodbc import connect +>>> connection = connect(dsn="My columnar database") +>>> cursor = connection.cursor() +>>> cursor.execute("SELECT some_integers, some_strings FROM my_table") +>>> cursor.fetchallarrow() +pyarrow.Table +some_integers: int64 +some_strings: string +``` + +With this new addition, the data flow for a result set of a typical SELECT query +is like this: +* The database prepares the result set and exposes it to the ODBC driver using + either row-wise or column-wise storage. +* Turbodbc has the ODBC driver write chunks of the result set into columnar buffers. +* These buffers are exposed to turbodbc's Apache Arrow frontend. This frontend + will create an Arrow table and fill in the buffered values. +* The previous steps are repeated until the entire result set is retrieved. + +![Data flow from relational databases to Python with turbodbc and the Apache Arrow frontend]({{ site.url }}/img/turbodbc_arrow.png){:class="img-responsive"} + +In practice, it is possible to achieve the following ideal situation: A 64-bit integer +column is stored as one contiguous block of memory in a columnar database. A huge chunk +of 64-bit integers is transferred over the network and the ODBC driver directly writes +it to a turbodbc buffer of 64-bit integers. The Arrow frontend accumulates these values +by copying the entire 64-bit buffer into a free portion of an Arrow table's 64-bit +integer column. + +Moving data from the database to an Arrow table and, thus, providing it to the Python +user can be as simple as copying memory blocks around, megabytes equivalent to hundred +thousands of rows at a time. The absence of serialization and conversion logic renders +the process extremely efficient. + +Once the data is stored in an Arrow table, Python users can continue to do some actual +work. They can convert it into a [Pandas dataframe][5] for data analysis +(using a quick `table.to_pandas()`), pass it on to +other data processing systems such as [Spark][6] or [Impala][7], or store it in the +[Parquet][8] file format. This way, non-Python systems are efficiently connected with +relational databases. + +In the future, turbodbc’s Apache Arrow support will be extended to use more sophisticated +features such as [dictionary-encoded][9] string fields. We also plan to pick smaller than +64-bit [data types][10] where possible. Last but not least, Arrow support will be extended +to cover the reverse direction of data flow, so that Python users can quickly insert +Arrow tables into relational databases. + +If you would like to learn more about turbodbc, check out the [GitHub project][2] and the +[project documentation][11]. If you want to learn more about how turbodbc implements the +nitty-gritty details, check out parts [one][12] and [two][13] of the +["Making of turbodbc"][12] series at [Blue Yonder's technology blog][14]. + + +[1]: https://arrow.apache.org/ +[2]: https://github.com/blue-yonder/turbodbc +[3]: https://en.wikipedia.org/wiki/Open_Database_Connectivity +[4]: https://www.python.org/dev/peps/pep-0249/ +[5]: https://arrow.apache.org/docs/python/pandas.html +[6]: http://spark.apache.org/ +[7]: http://impala.apache.org/ +[8]: http://parquet.apache.org/ +[9]: https://arrow.apache.org/docs/memory_layout.html#dictionary-encoding +[10]: https://arrow.apache.org/docs/metadata.html#integers +[11]: http://turbodbc.readthedocs.io/ +[12]: https://tech.blue-yonder.com/making-of-turbodbc-part-1-wrestling-with-the-side-effects-of-a-c-api/ +[13]: https://tech.blue-yonder.com/making-of-turbodbc-part-2-c-to-python/ +[14]: https://tech.blue-yonder.com/ diff --git a/site/img/turbodbc_arrow.png b/site/img/turbodbc_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..b534bf99a0e048de49ab2db9568c176de2d3acb1 GIT binary patch literal 75697 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 literal 0 HcmV?d00001