4 ms·
Mad respect for these guys/gals, they managed to squeeze two game changing features in a single release: VPack and Clustering 2.0.
by arthursilva 10y ago
Mad respect for these guys/gals, they managed to squeeze two game changing features in a single release: VPack and Clustering 2.0.
- pluma 10y agoNot to blow my own trumpet but I think the new Foxx API (for letting you write your own HTTP endpoints in JS) is a huge step forward, too ;) (I'm the lead developer of the new ArangoDB Foxx, AMA)
- merqurio 10y agoFoxx microservices are the best. I love them
- egeozcan 10y agoDo you have an example app written with some benchmarks? It says that we can utilize npm, so, how is the compatibility with node? Native (C++) modules? Is it used already in production somewhere? (I am asking a lot of questions because I'm very interested, not anything else)
- pluma 10y agoHi egeozcan, 1) I don't think we currently have a benchmark specifically for Foxx. However we did some one-off tests in 2.8 and there was no noticeable difference between the plain HTTP API and a Foxx service using the equivalent JS API (just the V8 context switches). 2) See the section "Compatibility Caveats" in the docs: https://docs.arangodb.com/3.0/Manual/Foxx/Dependencies.html https://docs.arangodb.com/3.0/Manual/Foxx/Dependencies.html Specifically we can't support native modules and there are limits to what Node APIs we can support (network and filesystem APIs are different and more restricted, also Foxx is entirely synchronous). 3) Yes! Check out the case studies linked a the bottom of the website: https://www.arangodb.com/#casestudies https://www.arangodb.com/#casestudies All three of them use Foxx. I also dogfood Foxx: I'm the lead developer of a commercial e-learning product that uses full-stack JS with ArangoDB. Feel free to swing by our community Slack channel if you have more questions: https://slack.arangodb.com https://slack.arangodb.com
- saiko-chriskun 10y agowhoa. foxx looks awesome!
- buckbova 10y agoIs the Foxx API supposed to imitate what would be stored procedures on the traditional rdbms?
- don71 10y agoHi! I'm Claudius from ArangoDB. Saying Foxx is like stored procedures is overly simplistic. ArangoDB's external API is the HTTP API. Foxx lets you extend that HTTP API with arbitrary code that will be executed in V8 with direct access to the same native APIs it uses internally. The closest equivalents I'm aware of are RethinkDB's Horizon (which isn't hosted in the database) and CouchDB's CouchApps (which are far more limited in what they can do). You can think of it as having a subset of Node.js running right on top of the database with direct memory access and scaling (Foxx services run on each coordinator).
- buckbova 10y agoSo the expectation is for client applications to directly connect to the API. But of course that's not required.
- don71 10y agoYou are right that that is not required. That ArangoDB speaks HTTP doesn't mean it has to be exposed to the browser. You can use Foxx to host your entire server-side application inside ArangoDB in some cases but in our experience, the best approach is having a middleground where the data-intensive server-side code lives in Foxx services and the client-facing part (e.g. server-side rendering) exists outside of it. Foxx offers you the option to put backend logic directly inside the database; it's not an all-or-nothing decision.