News for hackers. Stuff that matters.
Re:Facebook open-sources LogDevice, a distributed storage fo... by fullmetaleng on Thursday September 13, 2018 @02:53AM (#17976574)
Martin Kleppmann seems to point out technologies for problems of similar patterns already exist - https://twitter.com/martinkl/status/1039938408393662465
Re:Facebook open-sources LogDevice, a distributed storage fo... by tinco on Thursday September 13, 2018 @03:25AM (#17976709)
Those are streaming/pubsub services though, this actually claims to be a store. I feel that's an important difference.

Do people just point their system journal at Kafka and wait for something to break?

At my previous job we built something similar to this out of rabbitmq and mongodb. I always wondered what the other big log companies used. Mongodb seemed like a pretty good fit, but a pure append only database might be even better. Trimming performance in MongoDB was subpar so we worked around it by creating a new collection for each day, trimming became a simple operation of dropping a collection at the end of each day.

Re:Facebook open-sources LogDevice, a distributed storage fo... by EdwardDiego on Thursday September 13, 2018 @06:39AM (#17977529)
> Those are streaming/pubsub services though, this actually claims to be a store. I feel that's an important difference. > Do people just point their system journal at Kafka and wait for something to break?

Kafka can be used as a data store if you like, so long as you're happy with the data management and access patterns it gives you - it is, after all, optimised for large sequential reads.

LogDevice looks to be very similar for most use cases to Kafka, hell, they even use RocksDB, which is used by stateful operations in Kafka Streaming, and of course, Zookeeper.

Where it differs is that it looks like it was designed for you to be able to work against a single "cluster" that could well be running across multiple data-centres. Which is very much a Facebook problem to solve.

So yeah, Kafka was a distributed log built for LinkedIn size problems, LogDevice is a distributed log built for Facebook sized problems.

Most of us don't have Facebook sized problems.

Re:Facebook open-sources LogDevice, a distributed storage fo... by Serow225 on Thursday September 13, 2018 @10:36AM (#17978917)
What's a good distributed log for 10-dev sized companies? :)
Re:Facebook open-sources LogDevice, a distributed storage fo... by atombender on Thursday September 13, 2018 @02:44PM (#17981199)
If you're willing to go cloud, then Google's BigQuery is a very good fit for sequential data. It's fully queryable, unlike most log-oriented databases, and it's extremely cheap compared to competing offerings (e.g. AWS RedShift).
Re:Facebook open-sources LogDevice, a distributed storage fo... by manigandham on Thursday September 13, 2018 @06:08PM (#17983101)
Apache Bookkeeper. Or install Apache Pulsar and get full messaging capabilities with tiering out to S3 for infinite retention.
Re:Facebook open-sources LogDevice, a distributed storage fo... by simonrobb on Thursday September 13, 2018 @11:47AM (#17979527)
OKLog, Humio, and Splunk are all worth checking out.
Re:Facebook open-sources LogDevice, a distributed storage fo... by atombender on Thursday September 13, 2018 @02:42PM (#17981186)
OKLog has been abandoned by the author (the project is now read only on GitHub).

Humio is not self-hosted or open source, so not really a fair comparison. It also seems targeted towards operational logs, i.e. system logging, traffic logging, auditing. Not things like data pipelines. Kafka and friends can be used for that kind of log, but they are more like databases; they use the term "log" in the sense of sequential and append-only.

Same goes for Splunk, which does have a self-hosted version, but is extremely expensive, last I checked. The SaaS version is also extremely expensive.

Re:Facebook open-sources LogDevice, a distributed storage fo... by geeters1 on Saturday September 15, 2018 @04:06PM (#17995823)
Humio does have a self-hosted version - but is closed source. You can download a trial and it supports most logs types via support for opensource log shippers, ie logstash and beats..along with other popular formats including Kafka.

https://docs.humio.com/integrations/

The UI is what simplifies analysis and visualization with live, real-time query and db.

Re:Facebook open-sources LogDevice, a distributed storage fo... by jacobr1 on Thursday September 13, 2018 @11:43AM (#17979491)
AWS Kinesis + s3
Re:Facebook open-sources LogDevice, a distributed storage fo... by Serow225 on Thursday September 13, 2018 @12:15PM (#17979752)
Thanks! I'm guessing you're referring to Kinesis Streams? Is there an OOB solution to persist the records past the default 168hours, or is this something that you have to build out yourself following some pattern?
Re:Facebook open-sources LogDevice, a distributed storage fo... by mhotchen on Thursday September 13, 2018 @03:38PM (#17981714)
You can configure it to output to S3 and the mechanism for that is easy to configure and has fault tolerance.
Re:Facebook open-sources LogDevice, a distributed storage fo... by windexh8er on Monday September 17, 2018 @03:11PM (#18009004)
Gravwell.
Re:Facebook open-sources LogDevice, a distributed storage fo... by manigandham on Thursday September 13, 2018 @03:38AM (#17976761)
All of those are similar systems and have persistence. I'm not sure what distinction "streaming" makes but they also all support multiple publishers and subscribers. Some only use local storage on the nodes while others can tier out to cold storage like S3.

MongoDB is a full OLTP document store so it won't match the write throughput and pubsub features of these focused systems. RabbitMQ on the other hand has performance limits but is meant for complex service-bus style routing and RPC uses, but I recommend using NATS for that now.