{
  "id": "01a080ef-7746-7789-9bdc-c4d97a2dbc5d",
  "type": "post",
  "thread": [
    {
      "id": "01a0808a-09c5-7049-8b9c-534064378ec2",
      "depth": 0,
      "author": "Stefan Wintermeyer",
      "url": "https://vutuv.de/wintermeyer/posts/01a0808a-09c5-7049-8b9c-534064378ec2",
      "published_on": "2026-09-08",
      "in_reply_to_id": null,
      "body_markdown": "AFAIK ist Mastodon im Kern eine Ruby on Rails Applikation. Das ORM wäre dann ActiveRecord. Eigentlich ist ActiveRecord nicht schlecht und generiert auch brauchbares SQL. Aber es kann natürlich nicht suboptimale Programmierung ausbügeln. Das hier ist kein Framework oder ORM Problem. Da hat jemand beim Programmieren nicht bis ans Ende gedacht. \n\nSchaue Dir mal die https://abuuba.com Benchmark Vergleichswerte an. Bei Mastodon gibt es noch viel Optimierungspotential.",
      "author_username": "wintermeyer",
      "in_reply_to_author": null
    },
    {
      "id": "01a080bd-85ce-7c62-b98f-523ae120ae7a",
      "depth": 1,
      "author": "René Oelke",
      "url": "https://vutuv.de/reneoelke/posts/01a080bd-85ce-7c62-b98f-523ae120ae7a",
      "published_on": "2026-09-08",
      "in_reply_to_id": "01a0808a-09c5-7049-8b9c-534064378ec2",
      "body_markdown": "@wintermeyer Eines der Optimierungspotentiale scheint wohl auch Storage und Caching zu sein. Ist das in abuuba anders oder sogar besser gelöst?",
      "author_username": "reneoelke",
      "in_reply_to_author": "Stefan Wintermeyer"
    },
    {
      "id": "01a080c2-6b1c-7e87-b58b-41b4d6dcfeb9",
      "depth": 2,
      "author": "Stefan Wintermeyer",
      "url": "https://vutuv.de/wintermeyer/posts/01a080c2-6b1c-7e87-b58b-41b4d6dcfeb9",
      "published_on": "2026-09-08",
      "in_reply_to_id": "01a080bd-85ce-7c62-b98f-523ae120ae7a",
      "body_markdown": "Ich bin ja ein großer Fan vom Caching. Aber Caching funktioniert nur richtig gut, wenn die Grundlagen dahinter sauber geplant und programmiert wurden.\n\nMastodon hat diesbezüglich Raum für Verbesserungen.\n\nabuuba hat es aber auch einfacher. Es ist immer einfacher Fehler anderer zu sehen und diese dann nicht zu wiederholen, als selbst auch von Null anzufangen.",
      "author_username": "wintermeyer",
      "in_reply_to_author": "René Oelke"
    },
    {
      "id": "01a080ef-7746-7789-9bdc-c4d97a2dbc5d",
      "depth": 1,
      "author": "Stefan Wintermeyer",
      "url": "https://vutuv.de/wintermeyer/posts/01a080ef-7746-7789-9bdc-c4d97a2dbc5d",
      "published_on": "2026-09-08",
      "in_reply_to_id": "01a0808a-09c5-7049-8b9c-534064378ec2",
      "body_markdown": "Ja, das kenne ich aus meinem beruflichen Alltag auch nur zu gut. Es mangelt oft an den Grundlagen. Wenn dann noch eine \"Schicht\" Caching drüber gelegt wird, dann wundert sich jeder, warum bei jeder zweiten Abfrage falsche Ergebnisse rauskommen.",
      "author_username": "wintermeyer",
      "in_reply_to_author": "Stefan Wintermeyer"
    }
  ],
  "description": "Ja, das kenne ich aus meinem beruflichen Alltag auch nur zu gut. Es mangelt oft an den Grundlagen. Wenn dann noch eine \"Schicht\" Caching drüber gelegt wird, dann wundert sich jeder, warum bei jeder zw",
  "title": "Stefan Wintermeyer · 2026-09-08",
  "author": {
    "name": "Stefan Wintermeyer",
    "username": "wintermeyer",
    "url": "https://vutuv.de/wintermeyer"
  },
  "replies": [],
  "url": "https://vutuv.de/wintermeyer/posts/01a080ef-7746-7789-9bdc-c4d97a2dbc5d",
  "formats": {
    "json": "https://vutuv.de/wintermeyer/posts/01a080ef-7746-7789-9bdc-c4d97a2dbc5d.json",
    "text": "https://vutuv.de/wintermeyer/posts/01a080ef-7746-7789-9bdc-c4d97a2dbc5d.txt",
    "markdown": "https://vutuv.de/wintermeyer/posts/01a080ef-7746-7789-9bdc-c4d97a2dbc5d.md",
    "xml": "https://vutuv.de/wintermeyer/posts/01a080ef-7746-7789-9bdc-c4d97a2dbc5d.xml"
  },
  "video": null,
  "tags": [
    "sql"
  ],
  "in_reply_to": {
    "author": "Stefan Wintermeyer",
    "url": "https://vutuv.de/wintermeyer/posts/01a0808a-09c5-7049-8b9c-534064378ec2"
  },
  "like_count": 1,
  "generated_at": "2026-09-08T15:18:26Z",
  "schema_version": 3,
  "published_on": "2026-09-08",
  "images": [],
  "review": null,
  "license": null,
  "fediverse_reaction_count": 1,
  "reply_count": 1,
  "fediverse_replies": [
    {
      "handle": "@alvar@freude.social",
      "text": "@wintermeyer@vutuv.de Das Übliche ist ja: „Also, wir haben nur ganz selten lang laufende SQL-Queries, aber es ist trotzdem alles total lahm!“ – tja, warum nur. Oder: „Auf meinem Notebook lief noch alles ganz schnell, warum läuft das jetzt auf dem 128-Core-Datenbank-Server so viel langsamer und der Server hat überhaupt gar keine Last?“ – Tja, wer für eine Aktion 1000 SQL-Queries macht und die Latenz vergisst …",
      "author": "Alvar Freude",
      "url": "https://freude.social/@alvar/117236010607189975",
      "received_at": "2026-09-08T14:59:18Z",
      "content_warning": null,
      "network": "freude.social"
    }
  ],
  "body_markdown": "Ja, das kenne ich aus meinem beruflichen Alltag auch nur zu gut. Es mangelt oft an den Grundlagen. Wenn dann noch eine \"Schicht\" Caching drüber gelegt wird, dann wundert sich jeder, warum bei jeder zweiten Abfrage falsche Ergebnisse rauskommen.",
  "repost_count": 0,
  "bookmark_count": 0,
  "fediverse_reply_count": 1,
  "likers": [],
  "fediverse_like_count": 1,
  "fediverse_reactions": [
    {
      "handle": "@alvar@freude.social",
      "kind": "like",
      "url": "https://freude.social/users/alvar",
      "received_at": "2026-09-08T14:56:28",
      "network": "freude.social"
    }
  ],
  "fediverse_repost_count": 0,
  "thread_truncated": false,
  "verified_author_links": []
}
