<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ishaan Biswas</title>
    <description>The latest articles on Forem by Ishaan Biswas (@ishaanb).</description>
    <link>https://forem.com/ishaanb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F881604%2F02e07f7a-dd65-4cf3-9193-bdcd8a762a88.jpg</url>
      <title>Forem: Ishaan Biswas</title>
      <link>https://forem.com/ishaanb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ishaanb"/>
    <language>en</language>
    <item>
      <title>How to: Get up to speed and scale with Aerospike Graph on Google Cloud Marketplace</title>
      <dc:creator>Ishaan Biswas</dc:creator>
      <pubDate>Mon, 28 Aug 2023 15:00:31 +0000</pubDate>
      <link>https://forem.com/aerospike/how-to-get-up-to-speed-and-scale-with-aerospike-graph-on-google-cloud-marketplace-8kn</link>
      <guid>https://forem.com/aerospike/how-to-get-up-to-speed-and-scale-with-aerospike-graph-on-google-cloud-marketplace-8kn</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Z8Omhv09--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/Screenshot2023-08-25at335PM_1692996518285.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z8Omhv09--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/Screenshot2023-08-25at335PM_1692996518285.png" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In June of this year, Aerospike put graph developers front and center with the announcement of a new, developer-ready, &lt;a href="https://aerospike.com/news/press-release/aerospike-delivers-real-time-scalable-graph-database/"&gt;real-time scalable graph database&lt;/a&gt;.  Aerospike Graph is a massively scalable, high-performance graph database that simplifies building and deploying applications for highly connected enterprise-scale datasets. &lt;/p&gt;

&lt;p&gt;Aerospike Graph combines the unlimited scale, high throughput, and low latency of the Aerospike Database with the Aerospike Graph Service, an independently scalable graph compute engine built on Apache Tinkerpop. Let’s take a closer look. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--adjDzOoE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/GraphonGoogleCloudv2_1693004389114.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--adjDzOoE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/GraphonGoogleCloudv2_1693004389114.png" width="800" height="354"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;Figure 1: Aerospike Graph on Google Cloud&lt;/strong&gt; enables developers to use the popular Gremlin query language while keeping graph compute and storage separately scalable to optimize costs.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Scalable storage
&lt;/h3&gt;

&lt;p&gt;Scalable storage is facilitated by the &lt;a href="https://aerospike.com/products/database/"&gt;Aerospike Database&lt;/a&gt; which functions as the storage layer. Aerospike is a shared-nothing, multi-threaded, multimodel database designed to operate efficiently on a cluster of server nodes. Utilizing modern hardware and network architectures, Aerospike delivers exceptional high performance, through petabytes of data, using its patented &lt;a href="https://aerospike.com/products/features/hybrid-memory-architecture/"&gt;Hybrid Memory Architecture &lt;sup&gt;TM&lt;/sup&gt;  (HMA)&lt;/a&gt;; storing data on Flash devices (such as SSDs) and indexes in DRAM.&lt;/p&gt;
&lt;h3&gt;
  
  
  Scalable compute
&lt;/h3&gt;

&lt;p&gt;Aerospike Graph Service (AGS) is the compute layer of Aerospike Graph. AGS is a deep integration of Apache TinkerPop and the Aerospike Database, offering a graph-native developer interface through the Gremlin query language. &lt;br&gt;
AGS is purpose-built to maximize query performance through dozens of custom Gremlin steps, compiler optimization strategies, and a highly optimized graph encoding for the Aerospike Database. AGS nodes are stateless compute instances and can be elastically scaled to meet your application's throughput needs. &lt;/p&gt;
&lt;h3&gt;
  
  
  Unique, efficient architecture
&lt;/h3&gt;

&lt;p&gt;Aerospike Graph’s unique architecture features independent scaling of compute and storage resources. This enables optimal resource utilization, consistently low-latency queries, and extreme throughput for complex multi-hop graph queries at scale. This translates to an industry-leading total cost of ownership, ensuring cost-effective operations without compromising performance.&lt;/p&gt;

&lt;p&gt;This focus on performance, extreme scale, and high-efficiency operation provides a new proposition for companies looking to move demand operational workloads to a graph database. Making that available on an elastically scalable cloud environment like Google Cloud provides a future-proof path for IT and development organizations to follow. Let’s see what it takes to get started.&lt;/p&gt;
&lt;h2&gt;
  
  
  Getting Started with Aerospike Graph on Google Cloud
&lt;/h2&gt;

&lt;p&gt;To Get Started with Aerospike Graph on Google Cloud, follow these steps:  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Locate &lt;a href="https://console.cloud.google.com/marketplace/browse?_ga=2.258327170.984131431.1692377086-1499964091.1684875212&amp;amp;_gac=1.116258548.1691772468.Cj0KCQjwuNemBhCBARIsADp74QRbLYwJqVpAUtjGcwM9hg2loCNylwc1BzBd7bIYQ5w3E1N1tBgFKjcaAlmXEALw_wcB&amp;amp;q=aerospike%20database"&gt;Aerospike Database (BYOL) in the Cloud Marketplace&lt;/a&gt;. (Note: the other Aerospike Database listed is for Private Offers.) &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the Cloud Console navigation menu, click &lt;strong&gt;Marketplace&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WDXYfCYz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/graph-2_1692995238621.png" width="800" height="485"&gt;&lt;/li&gt;
&lt;li&gt;Type &lt;strong&gt;Aerospike&lt;/strong&gt; in the &lt;strong&gt;Search Marketplace&lt;/strong&gt; bar and click on the highlighted option from the search results.&lt;/li&gt;
&lt;li&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mMzyiit4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/graph-3_1692995237775.png" width="800" height="453"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;Launch&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V4lQG80H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/graph-4_1692995237032.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V4lQG80H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/graph-4_1692995237032.png" width="800" height="707"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Follow the on-screen guide to configure and deploy your Aerospike Cluster.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once the VMs are provisioned, note the &lt;code&gt;Internal IP&lt;/code&gt; of the Aerospike Database cluster nodes. You can do this from the Google Cloud UI by navigating to the VM instances section of &lt;strong&gt;Compute Engine&lt;/strong&gt; in the navigation menu. (You will need this information later in Step 9).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a &lt;strong&gt;Compute Optimized&lt;/strong&gt; Compute Engine instance to host the Aerospike Graph Service.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X5e_-t-h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/graph-5_1692995240456.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X5e_-t-h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/graph-5_1692995240456.png" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, Locate &lt;strong&gt;Aerospike Graph Service&lt;/strong&gt; in the Cloud Marketplace through the Search bar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;Show Pull Command&lt;/strong&gt;. This will provide the commands to pull the docker image from the Google Container Registry.&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W_3L7jmH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/graph-6_1692995235842.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W_3L7jmH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/78458717/graph-6_1692995235842.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SSH into the GCE instance for Aerospike Graph Service and run the command in Step 7. This will pull the docker image to your instance. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the &lt;strong&gt;Get Started with Aerospike Graph Service&lt;/strong&gt; button. This will provide you with instructions on how to connect AGS to the Aerospike Cluster. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Follow along the technical documentation in Step 9 for details on data loading, running gremlin queries and building your graph applications. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Working with graph data​
&lt;/h2&gt;

&lt;p&gt;There are several options for connecting to and interacting with Aerospike Graph. Some possibilities are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://tinkerpop.apache.org/docs/3.6.1/reference/#gremlin-console"&gt;Gremlin Console&lt;/a&gt;, an interactive command-line terminal for sending queries and receiving responses.&lt;/li&gt;
&lt;li&gt;A client application. This page provides code samples for Python and Java client code.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://jupyter.org/"&gt;Jupyter Notebook&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can use a client application or the Gremlin Console to query an existing data set, or add new edges and vertices to a data set. You can view &lt;a href="https://docs.aerospike.com/graph/usage#examples"&gt;examples&lt;/a&gt; in the product documentation that demonstrate adding new vertices one at a time to a database. To bulk load new data into a Graph database, use the Graph &lt;a href="https://docs.aerospike.com/graph/usage/bulk-loader"&gt;bulk loader&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.kelvinlawrence.net/"&gt;Kelvin Lawrence&lt;/a&gt; has compiled and made public a &lt;a href="https://github.com/krlawrence/graph/tree/master/sample-data"&gt;data set&lt;/a&gt; containing information about airlines, airports around the world, and routes between them, designed for use with a graph database. The data set is large enough to be interesting and useful, but small enough to be practical for testing and experimentation purposes. To run the following examples, download one of the &lt;a href="https://github.com/krlawrence/graph/tree/master/sample-data"&gt;&lt;code&gt;.graphml&lt;/code&gt; data files&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To use the &lt;code&gt;.graphml&lt;/code&gt; file, you must bind it to a Docker volume. When you start the &lt;a href="https://docs.aerospike.com/graph/docker/getting_started"&gt;AGS Docker image&lt;/a&gt;, use the &lt;code&gt;-v&lt;/code&gt; option to bind the local &lt;code&gt;.graphml&lt;/code&gt; file directory to a directory in the Docker container. For example, if you download the data file &lt;code&gt;air-routes-small.graphml&lt;/code&gt; to the directory &lt;code&gt;/home/users/data&lt;/code&gt;, start the AGS Docker image with the &lt;code&gt;-v&lt;/code&gt; option:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 8182:8182 &lt;span class="nt"&gt;-v&lt;/span&gt; /home/user/data/:/opt/air-routes/ aerospike/aerospike-graph-service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can use the Gremlin console to load the &lt;code&gt;air-routes&lt;/code&gt; data set into Aerospike Graph with the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;g.with&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"evaluationTimeout"&lt;/span&gt;, 24L &lt;span class="k"&gt;*&lt;/span&gt; 60L &lt;span class="k"&gt;*&lt;/span&gt; 60L &lt;span class="k"&gt;*&lt;/span&gt; 1000L&lt;span class="o"&gt;)&lt;/span&gt;.io&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"/opt/air-routes/air-routes-small.graphml"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;.with&lt;span class="o"&gt;(&lt;/span&gt;IO.reader, IO.graphml&lt;span class="o"&gt;)&lt;/span&gt;.read&lt;span class="o"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;View the &lt;a href="https://docs.aerospike.com/graph/usage"&gt;Aerospike Graph product documentation&lt;/a&gt; for more information.&lt;/p&gt;

</description>
      <category>gremlin</category>
      <category>gcp</category>
      <category>graph</category>
      <category>tinkerpop</category>
    </item>
    <item>
      <title>Are Graph Databases Finally Ready for Prime Time?</title>
      <dc:creator>Ishaan Biswas</dc:creator>
      <pubDate>Thu, 23 Jun 2022 15:32:33 +0000</pubDate>
      <link>https://forem.com/aerospike/are-graph-databases-finally-ready-for-prime-time-3b86</link>
      <guid>https://forem.com/aerospike/are-graph-databases-finally-ready-for-prime-time-3b86</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wjyw7bIm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/ishaan-biswas/iStock-613749406_1655147519352.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wjyw7bIm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://developer-hub.s3.us-west-1.amazonaws.com/ishaan-biswas/iStock-613749406_1655147519352.jpg" width="800" height="543"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Graph databases need to perform at a planetary scale&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can quickly become enamored with graph databases. When you discover that a short graph query can express what took you 6 weeks and 2 ounces of midnight oil in SQL - it is a life changing experience. When you use those queries to gain new insights about your customers through graph analytics, it is transformational for your business.&lt;br&gt;
So what happens when the technology you’ve so fallen in love with and become so reliant on, grinds to a halt? Imagine what that could do to your business.&lt;/p&gt;

&lt;p&gt;2018 was widely hailed in the industry to be the year of graph databases. The sheer breadth of use cases for graph databases was (and still is) endless and it seemed like graphs would be ubiquitous in enterprise data pipelines. Four years later, have graph databases fulfilled that promise? Are graph databases truly a ubiquitous element in enterprise tech stacks today?&lt;br&gt;
If you’ve explored any of the popular graph databases out there, you’ve probably reached the same conclusion that we have - a resounding NO!&lt;/p&gt;

&lt;p&gt;The simplicity and intuitiveness of the graph data model makes it a dream for data scientists and developers alike. So why haven’t graphs revolutionized the database industry yet?&lt;/p&gt;

&lt;p&gt;It turns out that an inability to provide predictably high performance at scale is the nemesis of graph databases. This is especially true in the enterprise world, where scale is not a buzzword, but really matters. When you’re serving millions of customers across the globe, 24x7 - predictable performance at scale is crucial for the sustained growth of your application, and your business. There’s only limited value you can extract from a graph database that only works well on small datasets. The true value of a graph database lies in the ability to harness this technology at massive scales. When you can gain insights from deep and intricate relationships across your entire dataset, without sacrificing performance, it can give you the legs to leapfrog your competition.&lt;/p&gt;

&lt;p&gt;It's easy to be confused by marketing jargon when it comes to scale. By 'scale' we mean graphs that are terabytes to petabytes in size, spanning tens of billions of vertices and hundreds of billions of edges. In simpler words, a graph large enough that it needs a distributed cluster to store it, and cannot fit in-memory on a single machine. Most of the popular graph database vendors today have adopted read-replica architectures, which are simply not engineered to handle large volumes of data. Performance craters as soon as your dataset grows beyond the memory capacity of a single instance, leaving the database practically unusable for your application.&lt;/p&gt;

&lt;p&gt;At Aerospike, our core database technology solves these problems and enables our customers to harness the power of the graph data model. Aerospike has been built as a globally distributed database from the ground up. Using a Hybrid Memory Architecture™, Aerospike Database provides predictable low latency, for strong consistency and high availability modes. Our technology is proven to perform &lt;a href="https://aerospike.com/news/press-release/running-operational-workloads-with-aerospike/"&gt;sub-millisecond queries at Petabyte scale&lt;/a&gt; while reducing the server footprint at the same time. Our customers have been clamoring for us to combine the &lt;a href="https://aerospike.com/products/benefits/"&gt;well known benefits of Aerospike&lt;/a&gt; as a datastore with the elegance of the graph data model.&lt;/p&gt;

&lt;p&gt;Over the last few months, we’ve been working hard to bring this project to fruition, and today we’re excited to announce the &lt;strong&gt;Firefly Alpha Program&lt;/strong&gt; (our code name for Aerospike’s graph database offering). Firefly combines Aerospike Database - the most scalable realtime NoSQL database with Apache TinkerPop™ - the most widely adopted graph computing framework. Through the alpha program, we will provide early access to Firefly prototypes, provide a channel for you to interact with the team and help shape the product roadmap. We want to hear your feedback, learn about your use cases and challenges with graph databases and together, build the most scalable realtime graph database on the planet.&lt;br&gt;
Be a part of the journey. Let's fearlessly scale graph technology together.&lt;/p&gt;

&lt;p&gt;If you’d like to sign up reach out to us at &lt;a href="mailto:firefly-alpha@aerospike.com"&gt;firefly-alpha@aerospike.com&lt;/a&gt;. Limited spots available.&lt;/p&gt;

</description>
      <category>graph</category>
      <category>graphdatabase</category>
      <category>largescalegraphs</category>
    </item>
  </channel>
</rss>
