Reading the message pack spec and am I correct in assuming that a map can have any key type as well as any value type and mix them in the same map? #Programming #msgpack
@gotofritz Protobuf's main flaw for the XMPP use case is total lack of extensibility. For stuff like push notifications, I think #WebSockets and #MsgPack might be better choices, and I think #ntfy is using at least WebSockets.
@naia #xml and #json are not "databases", it is just a serialization formats, so you can save data from your object model in files, transfer it between applications and so on.
What do you need essentially? Saving data to disk to read it back later? Or do you need real database features, like indexes and reference integrity?
If you need to save data somewhere and read it back later - have a look at binary serialization methods: Protocol Buffers (#protobuf), Message Pack (#msgpack). They are extremely fast and compact, comparing to json and xml, but are not human-readable.
In case you need database features, but do not want to deal with all this enterprise stuff like MS SQL and Oracle, take #Sqlite. It is compact, file-based (serverless) relational database, that can be embedded into your application. That's why it is popular in mobile applications. If you are looking for something more multiuser and multithreading - #PostgreSQL should be a good choice. It is cool database, that can be used in project of every size: a small pet project, MVP to start your startup in garage and enterprise application serving hundreds RPS 24/7/365. It is a bit more complex that sqlite, but it is still easy to start, has great docs, big community and excellent documentation.
#xml #json #protobuf #msgpack #sqlite #postgresql