---
title: "Migrating Graph Operations to Apache AGE: From Writes to Reads"
url: https://daily.dev/posts/migrating-graph-operations-to-apache-age-from-writes-to-reads-hhy7mnjlm
source_url: https://medium.com/trendyol-tech/migrating-graph-operations-to-apache-age-from-writes-to-reads-3b8334628e1c
type: article
source: "Trendyol Tech"
published: 2026-04-16T19:05:09.560Z
updated: 2026-04-16T19:05:35.002Z
tags: ["architecture", "golang", "postgresql", "neo4j"]
reading_time: 13
upvotes: 7
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrating Graph Operations to Apache AGE: From Writes to Reads

**[Trendyol Tech](https://daily.dev/sources/trendyoltech)** · 13 min read · 7 upvotes · 0 comments

## Summary

A production engineering team at Trendyol shares their migration from Neo4j Enterprise to Apache AGE, a graph extension for PostgreSQL. Key decisions include consolidating multiple relationship types into a single discriminated HAS edge for simpler writes, using native SQL instead of Cypher for high-throughput writes, and replacing variable-length path queries (which bypass indexes in AGE and caused 3–5 second response times) with iterative fixed-depth traversals. Go goroutines parallelize multi-hop queries across intermediate nodes, and pointer-based map sets handle memory-efficient deduplication of overlapping results. The migration traded Neo4j's raw graph performance for PostgreSQL's operational advantages: unified infrastructure, CDC via logical replication, and predictable licensing costs.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/trendyol-tech/migrating-graph-operations-to-apache-age-from-writes-to-reads-3b8334628e1c>

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#golang](https://daily.dev/tags/golang), [#postgresql](https://daily.dev/tags/postgresql), [#neo4j](https://daily.dev/tags/neo4j)

[View this post on daily.dev](https://daily.dev/posts/migrating-graph-operations-to-apache-age-from-writes-to-reads-hhy7mnjlm)
