
Ask HN: How does Facebook manage object schemas in TAO? - perfmode
If Facebook uses an opaque data column in MySQL to represent object data, how do they (1) perform migrations, (2) add&#x2F;maintain constraints, (3) keep client libraries up-to-date, etc?<p>I imagine the Facebook graph schema has dozens, if not hundreds, of different object types.
======
tenken
They have thousands of object types.

I don't know what format they serialize to; native object, XML, json...

But here is an example tool that can do migrations via XML serialized data for
Java. As an intermediary step in the XML serialization they create a document
of XML that simply contains a version attribute alongside the schema. A
similar approach would work for other serialization formats (json, native,
etc).

[https://dzone.com/articles/migrate-serialized-
java](https://dzone.com/articles/migrate-serialized-java)

Edit:

I'll bet they use something like Across internally:
[https://grisha.org/blog/2013/06/06/avro/](https://grisha.org/blog/2013/06/06/avro/)

