{"id":16537,"date":"2024-11-04T09:17:12","date_gmt":"2024-11-04T17:17:12","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=16537"},"modified":"2025-06-13T21:54:18","modified_gmt":"2025-06-14T04:54:18","slug":"introducing-capella-columnar-sdks-for-real-time-analytics","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/","title":{"rendered":"Introducing Capella Columnar SDKs: Powering Modern Data Analytics"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Couchbase continues to lead the way in enabling high-performance data analytics with the introduction of SDKs for <\/span><b>Capella Columnar<\/b><span style=\"font-weight: 400;\">, its cutting-edge analytical database, designed for real-time JSON analytics with zero ETL and options for operational write-back. For developers who need fast, reliable access to columnar databases, these SDKs provide seamless integration across multiple programming languages. Whether you&#8217;re building in <\/span><b>Java<\/b><span style=\"font-weight: 400;\">, <\/span><b>Python<\/b><span style=\"font-weight: 400;\">, or <\/span><b>Node.js<\/b><span style=\"font-weight: 400;\">, the Capella Columnar SDKs allow you to leverage the advanced capabilities of Couchbase&#8217;s analytical database with minimal effort.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this blog post, we\u2019ll explore the key features, benefits, and use cases of the newly launched <\/span><b>Capella Columnar SDKs<\/b><span style=\"font-weight: 400;\">\u2014showing how they simplify data operations for developers working on data-intensive applications. We also show code examples to illustrate the simplicity and consistency of our approach.<\/span><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-diagram.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16542 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-diagram-1024x711.png\" alt=\"\" width=\"900\" height=\"625\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-diagram-1024x711.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-diagram-300x208.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-diagram-768x534.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-diagram-1320x917.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-diagram.png 1445w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<h2><span style=\"font-weight: 400;\">Purpose-built SDKs for real-time analytics<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">One of the core strengths of the Capella Columnar SDKs is their ability to optimize data access and query performance, making them ideal for large-scale analytical workloads. As organizations increasingly rely on real-time data analytics and batch processing, efficient querying and resource management become critical.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Capella Columnar SDKs have been designed with these needs in mind, offering a range of features that help developers fine-tune data interactions and ensure high throughput, even under demanding conditions. The SDKs have been built from the ground up specifically for high performance and reliability by not taking shortcuts (such as wrappers over APIs, etc).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At the heart of the Capella Columnar SDKs are three core pillars:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Ease of Development<\/b><b><br \/>\n<\/b><span style=\"font-weight: 400;\">Developers can interact with Couchbase\u2019s columnar database within your existing tech stack without needing additional tools or configurations. The SDKs natively support each language, offering <\/span><b>idiomatic APIs<\/b><span style=\"font-weight: 400;\"> that feel natural to developers.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Discoverable APIs<\/b><b><br \/>\n<\/b><span style=\"font-weight: 400;\">The SDKs are designed with a fully discoverable API. This means that within your <\/span><b>IDE<\/b><span style=\"font-weight: 400;\">, you\u2019ll get automatic auto-completion and suggestions for functions, classes, and parameters, speeding up your development cycle. No more hunting for the right methods\u2014the SDK will guide you as you build.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Robustness<\/b><b><br \/>\n<\/b><span style=\"font-weight: 400;\">Built with performance in mind, the SDKs provide advanced features like <\/span><b>connection management<\/b><span style=\"font-weight: 400;\">, <\/span><b>error handling<\/b><span style=\"font-weight: 400;\">, <\/span><b>timeouts<\/b><span style=\"font-weight: 400;\">, and <\/span><b>retries<\/b><span style=\"font-weight: 400;\">. These capabilities ensure your application remains stable even in high-load or fault-tolerant environments.<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">Platform and language support<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The Capella Columnar SDKs support a diverse set of platforms and languages, including:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Languages<\/b><span style=\"font-weight: 400;\">: Java (17+), Python (3.9-3.12), Node.js (v20, v22)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Operating Systems<\/b><span style=\"font-weight: 400;\">: Linux, Windows, macOS (including support for ARM processors like AWS Graviton and Apple M1)<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">By offering support across these platforms, Couchbase ensures that developers can deploy their applications in diverse environments, from cloud infrastructures to on-premise systems.<\/span><\/p>\n<div id=\"attachment_16539\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-16539\" class=\"wp-image-16539 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image2-1024x534.png\" alt=\"\" width=\"900\" height=\"469\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image2-1024x534.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image2-300x156.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image2-768x400.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image2-1536x801.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image2-1320x688.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image2.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-16539\" class=\"wp-caption-text\">Figure 2. See the SDK documentation for any changes to language\/platform support<\/p><\/div>\n<p><span style=\"font-weight: 400;\">Couchbase prioritizes future-proofing by maintaining backward compatibility across SDK versions, allowing developers to upgrade their applications without the fear of breaking changes. This commitment ensures that as new features and improvements are introduced, existing functionalities remain intact, enabling organizations to leverage the latest capabilities while preserving their established workflows.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">How Capella Columnar SDKs help master data at scale<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The <\/span><b>Couchbase Capella Columnar SDKs<\/b><span style=\"font-weight: 400;\"> offer a comprehensive toolset for managing large-scale data analytics efficiently, focusing on consistency, performance, and scalability.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here&#8217;s an overview of the core features:<\/span><\/p>\n<p style=\"padding-left: 40px;\"><strong>Unified API across languages<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">Capella Columnar SDKs provide a <\/span><b>consistent API<\/b><span style=\"font-weight: 400;\"> across languages like <\/span><a href=\"https:\/\/docs.couchbase.com\/java-columnar-sdk\/current\/hello-world\/overview.html\"><b>Java<\/b><\/a><b>, <\/b><a href=\"https:\/\/docs.couchbase.com\/python-columnar-sdk\/current\/hello-world\/overview.html\"><b>Python<\/b><\/a><b>, and <\/b><a href=\"https:\/\/docs.couchbase.com\/nodejs-columnar-sdk\/current\/hello-world\/overview.html\"><b>Node.js<\/b><\/a><span style=\"font-weight: 400;\">, simplifying cross-team collaboration and allowing developers to switch between languages while maintaining a unified development experience.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><strong>Simplified data management and query execution<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">These SDKs offer intuitive access to <\/span><b>scopes and collections<\/b><span style=\"font-weight: 400;\">, with support for both <\/span><b>synchronous and asynchronous API calls<\/b><span style=\"font-weight: 400;\">. For query execution, they enable flexible SQL++ queries with options for <\/span><b>Buffered Reads<\/b><span style=\"font-weight: 400;\"> (for in-memory datasets) and <\/span><b>Streaming Reads<\/b><span style=\"font-weight: 400;\"> (for real-time processing of large datasets), optimizing performance based on operational needs.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><strong>Resilient connection management and error handling<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">The SDKs automatically adjust to <\/span><b>database topology changes<\/b><span style=\"font-weight: 400;\">, ensuring smooth performance during <\/span><b>failovers<\/b><span style=\"font-weight: 400;\"> or <\/span><b>rebalances<\/b><span style=\"font-weight: 400;\">. They also feature <\/span><b>automatic query retries<\/b><span style=\"font-weight: 400;\"> and provide <\/span><b>clear error messages<\/b><span style=\"font-weight: 400;\"> aligned with Couchbase\u2019s <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/analytics\/error-codes.html\"><span style=\"font-weight: 400;\">Analytics Error Codes<\/span><\/a><span style=\"font-weight: 400;\"> to aid in fast issue resolution.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><strong>Cross-Platform support and versioning flexibility<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">With support for multiple environments like <\/span><b>Linux, Windows, MacOS<\/b><span style=\"font-weight: 400;\">, and <\/span><b>ARM processors<\/b><span style=\"font-weight: 400;\">, the SDKs offer flexibility across infrastructures. Their <\/span><b>versioned API framework<\/b><span style=\"font-weight: 400;\"> ensures compatibility with new Couchbase features, allowing developers to integrate updates without compatibility concerns.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><strong>Scalability and distributed architecture<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\">Capella Columnar SDKs leverage Couchbase&#8217;s <\/span><b>distributed architecture<\/b><span style=\"font-weight: 400;\"> for automatic data partitioning and <\/span><b>Cross Data Center Replication (XDCR)<\/b><span style=\"font-weight: 400;\">. This enables seamless scaling across multiple nodes and regions, ensuring <\/span><b>high availability<\/b><span style=\"font-weight: 400;\"> and efficient <\/span><b>global data distribution<\/b><span style=\"font-weight: 400;\"> as applications grow.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Use cases for Capella Columnar SDKs<\/span><\/h2>\n<h3><span style=\"font-weight: 400;\">Real-Time data analytics<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">For organizations handling real-time analytics, the Capella Columnar SDKs simplify data processing. With <\/span><b>streaming query support<\/b><span style=\"font-weight: 400;\">, developers can process incoming data row-by-row, which is perfect for scenarios like <\/span><b>log analysis<\/b><span style=\"font-weight: 400;\">, <\/span><b>IoT sensor data<\/b><span style=\"font-weight: 400;\">, or <\/span><b>real-time financial transactions<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Ad targeting example use case<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">A real-time analytics use case with Capella Columnar SDKs could involve integrating clickstream or web interaction data from, for example, an S3 bucket to drive just-in-time ad delivery. In this scenario, clickstream data, which captures real-time user interactions on a website, is streamed into Capella Columnar using external link configurations. The SDKs enable fast, efficient querying of this data as it arrives, using flexible SQL++ queries to analyze user behavior on the fly.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At the same time, user profile data stored in a NoSQL or relational database is fed into the system through Kafka connectors, allowing for a unified view of each user&#8217;s preferences and history. By combining these data streams with code used from Columnar SDKs, businesses can optimize their ad targeting strategy, delivering personalized ads based on the user\u2019s latest interactions and historical preferences\u2014all processed quickly and at scale using Capella Columnar&#8217;s distributed architecture.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Data science models could be applied using other tools, to find trends and build analytical results that drive appropriate experiences for the end user. This allows for timely, relevant ad delivery, maximizing engagement and conversion rates via applications built on the SDKs.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Batch data processing<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">For more traditional analytics workloads where data is processed in bulk, the <\/span><b>buffered query mode<\/b><span style=\"font-weight: 400;\"> ensures efficient memory usage while loading datasets into memory. Use cases like <\/span><b>ETL processes<\/b><span style=\"font-weight: 400;\">, <\/span><b>business intelligence<\/b><span style=\"font-weight: 400;\">, and <\/span><b>data warehousing<\/b><span style=\"font-weight: 400;\"> can benefit from this capability. Using the power of SQL++, BI tools can extract high value information quickly without needing to rely on as many 3rd party analytical tools.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Cross-language data operations<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The <\/span><b>unified API<\/b><span style=\"font-weight: 400;\"> enables development teams to switch between programming languages easily without needing to learn new patterns. This is particularly useful for teams working on <\/span><b>microservices architectures<\/b><span style=\"font-weight: 400;\">, where different components might be written in different languages (e.g., Java for backend services, Node.js for real-time APIs).<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Technical overview: getting started<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">To give you a sense of how easy it is to get started with the all of the Capella Columnar SDKs, here\u2019s an example of connecting to a Capella Columnar cluster using the <\/span><a href=\"https:\/\/docs.couchbase.com\/python-columnar-sdk\/current\/howtos\/managing-connections.html\"><b>Python SDK<\/b><\/a>, see <a href=\"https:\/\/docs.couchbase.com\/home\/columnar-sdk.html\">the docs for Java and Node.js<\/a> examples:<\/p>\n<div id=\"attachment_16540\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image3.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-16540\" class=\"size-large wp-image-16540\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image3-1024x512.png\" alt=\"Connection management code example in Python\" width=\"900\" height=\"450\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image3-1024x512.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image3-300x150.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image3-768x384.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image3-1536x768.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image3-1320x660.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/image3.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-16540\" class=\"wp-caption-text\">Figure 3. Connection management code example in Python<\/p><\/div>\n<p>The process is similar across\u00a0<a href=\"https:\/\/docs.couchbase.com\/home\/columnar-sdk.html\">all SDKs<\/a>, ensuring a consistent experience regardless of the language. Once connected, you can execute SQL queries, manage scopes, and work with collections.<\/p>\n<h3><span style=\"font-weight: 400;\">Asynchronous query execution<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The Python SDK supports both Sync and Async Streaming APIs. Applications that need non-blocking operations can also perform asynchronous queries using Python\u2019s <\/span><i><span style=\"font-weight: 400;\">asyncio<\/span><\/i><span style=\"font-weight: 400;\"> framework. This allows you to run queries without waiting for them to finish, increasing throughput, especially when handling large datasets or slow operations. This example also shows buffered vs. streaming data access.<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">from acouchbase_columnar import get_event_loop\r\nfrom acouchbase_columnar.cluster import AsyncCluster\r\n\r\nquery = \"\"\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SELECT airline, COUNT(*) AS route_count, AVG(route.distance) AS avg_route_distance\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0FROM `travel-sample`.inventory.route\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0GROUP BY airline ORDER BY route_count DESC\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"\"\"\r\nres = await cluster.execute_query(query)\r\n\r\n# Buffered: Execute a query and buffer all result rows in client memory.\r\nall_rows = await res.get_all_rows()\r\n# NOTE: all_rows is a list, _do not_ use `async for`\r\nfor row in all_rows:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0print(f'Found row: {row}')\r\n\r\n# Streaming: Execute a query and process rows as they arrive from server.\r\nres = await cluster.execute_query(statement)\r\nasync for row in res.rows():\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0print(f'Found row: {row}')<\/pre>\n<p><span style=\"font-weight: 400;\">In this example, the <\/span><i><span style=\"font-weight: 400;\">asyncio<\/span><\/i><span style=\"font-weight: 400;\"> event loop is used to handle queries asynchronously, allowing the application to perform other tasks while waiting for the query results.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Parameterized queries<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Parameterized queries help protect your application from <\/span><b>SQL injection attacks<\/b><span style=\"font-weight: 400;\"> by separating query logic from data inputs. This is especially important when handling user-provided data.<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\"># Positional Parameters\r\nquery = \"\"\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SELECT airline, COUNT(*) AS route_count, AVG(route.distance)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0AS avg_route_distance FROM route\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WHERE sourceairport=$1 AND distance&gt;=$2\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0GROUP BY airline ORDER BY route_count DESC\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"\"\"\r\nres = scope.execute_query(query, QueryOptions(positional_parameters=['SFO', 1000]))\r\n\r\n# Named Parameters\r\nquery = \"\"\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SELECT airline, COUNT(*) AS route_count, AVG(route.distance)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0AS avg_route_distance FROM route\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WHERE sourceairport=$source_airport AND distance&gt;=$min_distance\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0GROUP BY airline ORDER BY route_count DESC\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"\"\"\r\nres = scope.execute_query(query, QueryOptions(named_parameters={'source_airport': 'SFO', 'min_distance': 1000}))<\/pre>\n<p><span style=\"font-weight: 400;\">In this example, we pass the airport code as a parameter, ensuring that the query remains safe and avoids the risks associated with SQL injection.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Using query results in data analytics libraries<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Couchbase Columnar SDK integrates seamlessly with popular Python data analytics libraries like <\/span><b>Pandas<\/b><span style=\"font-weight: 400;\"> and <\/span><b>PyArrow<\/b><span style=\"font-weight: 400;\">, common tools of choice for data science and AI\/ML projects, making it easy to incorporate query results into your analytics workflow.<\/span><\/p>\n<h4>Importing query results into a Pandas DataFrame<\/h4>\n<p><span style=\"font-weight: 400;\">This example shows how Couchbase query results can be easily converted into <\/span><b>Pandas DataFrames<\/b><span style=\"font-weight: 400;\">, enabling data manipulation and exploration.<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">import pandas as pd\r\n\r\nres = scope.execute_query(query)\r\ndf = pd.DataFrame.from_records(res.rows(), index='airline')\r\n\r\nprint(df.head())\r\n# airline\u00a0 route_count\u00a0 avg_route_distance\r\n# AA\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2354 \u00a0 \u00a0 \u00a0 \u00a0 2314.884359\r\n# UA\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2180 \u00a0 \u00a0 \u00a0 \u00a0 2350.365407\r\n# DL\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1981 \u00a0 \u00a0 \u00a0 \u00a0 2350.494112\r\n# US\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1960 \u00a0 \u00a0 \u00a0 \u00a0 2101.417609\r\n# WN\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1146 \u00a0 \u00a0 \u00a0 \u00a0 1397.736500<\/pre>\n<h4>Importing query results into a PyArrow Table<\/h4>\n<p><span style=\"font-weight: 400;\">For performance-intensive tasks, Couchbase results can be used in <\/span><b>PyArrow tables<\/b><span style=\"font-weight: 400;\">, facilitating in-memory analytics and integration with columnar storage systems.<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">import pyarrow as pa\r\n\r\nres = scope.execute_query(query)\r\ntable = pa.Table.from_pylist(res.get_all_rows())\r\n\r\nprint(table.to_string())\r\n# pyarrow.Table\r\n# route_count: int64\r\n# avg_route_distance: double\r\n# airline: string<\/pre>\n<p><span style=\"font-weight: 400;\">By supporting both Pandas and PyArrow libraries, the Couchbase Columnar Python SDK simplifies integration into existing data science and data analytics pipelines, enabling efficient data analysis and processing.<\/span><\/p>\n<hr \/>\n<p><span style=\"font-weight: 400;\">These examples showcase how to execute buffered, streaming, asynchronous, and parameterized queries using Couchbase SDKs,<\/span><span style=\"font-weight: 400;\">\u00a0allowing you to tailor query execution to your application\u2019s requirements.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Conclusion<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The Capella Columnar SDKs are a powerful addition for developers working with large-scale data analytics. With robust support for multiple languages, streamlined query execution, and cross-platform compatibility, these SDKs provide the flexibility, performance, and reliability needed to handle modern data workloads. Whether you&#8217;re processing real-time data streams or executing complex analytical queries, the Capella Columnar SDKs are designed to enhance your development experience.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Explore the possibilities and start building smarter, faster applications with Capella Columnar today!<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Resources<\/span><\/h2>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"font-weight: 400;\">Documentation and install instructions: <\/span><a href=\"https:\/\/docs.couchbase.com\/python-columnar-sdk\/current\/hello-world\/overview.html\"><span style=\"font-weight: 400;\">Python<\/span><\/a><span style=\"font-weight: 400;\"> &#8211; <\/span><a href=\"https:\/\/docs.couchbase.com\/nodejs-columnar-sdk\/current\/hello-world\/overview.html\"><span style=\"font-weight: 400;\">Node.js<\/span><\/a><span style=\"font-weight: 400;\"> &#8211; <\/span><a href=\"https:\/\/docs.couchbase.com\/java-columnar-sdk\/current\/hello-world\/overview.html\"><span style=\"font-weight: 400;\">Java<\/span><\/a><\/li>\n<li><span style=\"font-weight: 400;\">Learn more about <\/span><a href=\"https:\/\/docs.couchbase.com\/columnar\/intro\/intro.html\"><span style=\"font-weight: 400;\">Capella Columnar<\/span><\/a><span style=\"font-weight: 400;\"> and its use cases<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Start using Capella, for free, today: <\/span><a href=\"https:\/\/cloud.couchbase.com\/sign-up?ref=blog\"><span style=\"font-weight: 400;\">sign up<\/span><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Couchbase continues to lead the way in enabling high-performance data analytics with the introduction of SDKs for Capella Columnar, its cutting-edge analytical database, designed for real-time JSON analytics with zero ETL and options for operational write-back. For developers who need [&hellip;]<\/p>\n","protected":false},"author":75185,"featured_media":16543,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,10129,2294,1821,2225,1818,1822,9139,2201],"tags":[1439],"ppma_author":[9163],"class_list":["post-16537","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-columnar","category-analytics","category-couchbase-architecture","category-cloud","category-java","category-node-js","category-python","category-tools-sdks","tag-asynchronous"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introducing Capella Columnar SDKs: Powering Modern Data Analytics<\/title>\n<meta name=\"description\" content=\"Discover Capella Columnar SDKs for real-time, high-performance analytics in Java, Python, and Node.js, streamlining data operations with zero ETL.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Capella Columnar SDKs: Powering Modern Data Analytics\" \/>\n<meta property=\"og:description\" content=\"Discover Capella Columnar SDKs for real-time, high-performance analytics in Java, Python, and Node.js, streamlining data operations with zero ETL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-04T17:17:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:54:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tyler Mitchell - Senior Product Marketing Manager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@1tylermitchell\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tyler Mitchell - Senior Product Marketing Manager\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/\"},\"author\":{\"name\":\"Tyler Mitchell - Senior Product Marketing Manager\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0\"},\"headline\":\"Introducing Capella Columnar SDKs: Powering Modern Data Analytics\",\"datePublished\":\"2024-11-04T17:17:12+00:00\",\"dateModified\":\"2025-06-14T04:54:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/\"},\"wordCount\":1608,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png\",\"keywords\":[\"asynchronous\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Columnar\",\"Couchbase Analytics\",\"Couchbase Architecture\",\"Couchbase Capella\",\"Java\",\"Node.js\",\"Python\",\"Tools &amp; SDKs\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/\",\"name\":\"Introducing Capella Columnar SDKs: Powering Modern Data Analytics\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png\",\"datePublished\":\"2024-11-04T17:17:12+00:00\",\"dateModified\":\"2025-06-14T04:54:18+00:00\",\"description\":\"Discover Capella Columnar SDKs for real-time, high-performance analytics in Java, Python, and Node.js, streamlining data operations with zero ETL.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Capella Columnar SDKs: Powering Modern Data Analytics\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0\",\"name\":\"Tyler Mitchell - Senior Product Marketing Manager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d8a7c532bf2b94b7a2fe7a8439aafd75\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g\",\"caption\":\"Tyler Mitchell - Senior Product Marketing Manager\"},\"description\":\"Works as Senior Product Marketing Manager at Couchbase, helping bring knowledge about products into the public limelight while also supporting our field teams with valuable content. His personal passion is all things geospatial, having worked in GIS for half his career. Now AI and Vector Search is top of mind.\",\"sameAs\":[\"https:\/\/linkedin.com\/in\/tylermitchell\",\"https:\/\/x.com\/1tylermitchell\",\"https:\/\/www.youtube.com\/channel\/UCBZFuoiTcg0f3lGSQwLjeTg\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/tylermitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducing Capella Columnar SDKs: Powering Modern Data Analytics","description":"Discover Capella Columnar SDKs for real-time, high-performance analytics in Java, Python, and Node.js, streamlining data operations with zero ETL.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/","og_locale":"en_US","og_type":"article","og_title":"Introducing Capella Columnar SDKs: Powering Modern Data Analytics","og_description":"Discover Capella Columnar SDKs for real-time, high-performance analytics in Java, Python, and Node.js, streamlining data operations with zero ETL.","og_url":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-11-04T17:17:12+00:00","article_modified_time":"2025-06-14T04:54:18+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png","type":"image\/png"}],"author":"Tyler Mitchell - Senior Product Marketing Manager","twitter_card":"summary_large_image","twitter_creator":"@1tylermitchell","twitter_misc":{"Written by":"Tyler Mitchell - Senior Product Marketing Manager","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/"},"author":{"name":"Tyler Mitchell - Senior Product Marketing Manager","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0"},"headline":"Introducing Capella Columnar SDKs: Powering Modern Data Analytics","datePublished":"2024-11-04T17:17:12+00:00","dateModified":"2025-06-14T04:54:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/"},"wordCount":1608,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png","keywords":["asynchronous"],"articleSection":["Best Practices and Tutorials","Columnar","Couchbase Analytics","Couchbase Architecture","Couchbase Capella","Java","Node.js","Python","Tools &amp; SDKs"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/","url":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/","name":"Introducing Capella Columnar SDKs: Powering Modern Data Analytics","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png","datePublished":"2024-11-04T17:17:12+00:00","dateModified":"2025-06-14T04:54:18+00:00","description":"Discover Capella Columnar SDKs for real-time, high-performance analytics in Java, Python, and Node.js, streamlining data operations with zero ETL.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-columnar-sdk-hero.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/introducing-capella-columnar-sdks-for-real-time-analytics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Capella Columnar SDKs: Powering Modern Data Analytics"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0","name":"Tyler Mitchell - Senior Product Marketing Manager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d8a7c532bf2b94b7a2fe7a8439aafd75","url":"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g","caption":"Tyler Mitchell - Senior Product Marketing Manager"},"description":"Works as Senior Product Marketing Manager at Couchbase, helping bring knowledge about products into the public limelight while also supporting our field teams with valuable content. His personal passion is all things geospatial, having worked in GIS for half his career. Now AI and Vector Search is top of mind.","sameAs":["https:\/\/linkedin.com\/in\/tylermitchell","https:\/\/x.com\/1tylermitchell","https:\/\/www.youtube.com\/channel\/UCBZFuoiTcg0f3lGSQwLjeTg"],"url":"https:\/\/www.couchbase.com\/blog\/author\/tylermitchell\/"}]}},"authors":[{"term_id":9163,"user_id":75185,"is_guest":0,"slug":"tylermitchell","display_name":"Tyler Mitchell - Senior Product Marketing Manager","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/876da1e4284f1832c871b3514caf7867357744b8c0a370ef6f53a79dee2f379e?s=96&d=mm&r=g","author_category":"","last_name":"Mitchell - Senior Product Marketing Manager","first_name":"Tyler","job_title":"Senior Product Marketing Manager","user_url":"","description":"Works as Senior Product Marketing Manager at Couchbase, helping bring knowledge about products into the public limelight while also supporting our field teams with valuable content. His personal passion is all things geospatial, having worked in GIS for half his career. Now AI and Vector Search is top of mind."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/16537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/75185"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=16537"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/16537\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/16543"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=16537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=16537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=16537"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=16537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}