News for hackers. Stuff that matters.

fulmicoton

Re:Show HN: Improving RAG with chess Elo scores on Wednesday July 16, 2025 @10:04PM (#44588983)
One trouble I could see with your approach is that you treat the information "Doc at pos i" beats "Doc at pos j" independently from i and j. Intuitively, it is not as critical when a bad doc is at rank 9 instead of rank 10; compared to bad doc landing at rank 1 instead of rank 10.

LambdaMART's approach seems better in that respect.

https://medium.com/@nikhilbd/pointwise-vs-pairwise-vs-listwi...

Re:AWS S3 SDK breaks its compatible services on Thursday February 20, 2025 @05:46PM (#43121419)
This bug hit us, and yes, I hadn't thought of just switching to opendal. That's indeed a great reminder.
Re:Datadog Acquires Quickwit on Saturday January 11, 2025 @07:40PM (#42670169)
No. Quickwit was founded well before Warpstream and it did not inspire us.

The Husky blog post was released after we released a few versions of quickwit if I recall correctly. It was not an inspiration either.

As far as I know, the similarities are fortuitous.

Re:Quickwit Joins Datadog on Saturday January 11, 2025 @07:34PM (#42670135)
Our seed round was 100% made of SAFE, so VCs did not have the power to force us to do anything.

The sentence in the blog post is a tad misleading. I suspect François is not really talking about VCs that had already invested in quickwit, but about the usual flow of other VCs who contacted us, to know about the company and be part of our eventual series A.

It just generally felt like we were "at a crossing".

No one twisted our arm.

Developer of tantivy chiming in! (I hope that's ok) Database performance is a space where there are a lot of lies and bullshit, so you are 100% right to be suspicious.

I don't know SeekStorm's team and I did not dig much into the details, but my impression so far is that their benchmark's results are fair. At least I see no reason not to trust them.

Yes. We should shut down this demo. We reduced the hardware to cut down our costs. Right now it runs a ludicrously small amount of hardware.
Re:turbopuffer: Fast Search on Object Storage on Friday July 12, 2024 @04:33AM (#40943710)
Quickwit is targetting logs:

    - it does not do vector search. It can rank docs using BM25, but usually people just want to sort by timestamp.
    - its does not use an SSD cache. Quickwit reads directly into the object storage.
    - it is append-only (you can't modify documents)
    - it scales really well and typically shines on the 1TB .. 100PB range
    - it has a Elastic search compatible API.
Re:Binance built a 100PB log service with Quickwit on Friday July 12, 2024 @02:55AM (#40943261)
This is NOT about transaction log. This is application logs. The thing you generate via Log4j for instance.

Also 100PB is measured as the input format (JSON). Internally Quickwit will have more efficient representations.

Re:Binance built a 100PB log service with Quickwit on Friday July 12, 2024 @02:52AM (#40943251)
Security and customer support are the two main reasons why people want a super long retention.

Medium retention (1 or 2 months) is still very appreciable if some issue in your bugtracker stay stale for this amount of time.

Re:Binance built a 100PB log service with Quickwit on Friday July 12, 2024 @02:50AM (#40943237)
It is pretty much the same as Lucene. The compression ratio is very specific logs and depends on the logs themselves. (Often it is not that good)
Re:Binance built a 100PB log service with Quickwit on Friday July 12, 2024 @02:49AM (#40943226)
Quickwit (like Elasticsearch/Opensearch) stores you data compressed with ZSTD in a row store, builds a full text search index, and stores some of your fields in a columnar. The "compressed size" includes all of this.

The high compression rate is VERY specific to logs.

- What happens when you alter an index configuration? Or add or remove an index?

Changing an index mapping was not available in 0.8. It is available in main and will be added in 0.9. The change only impacts new data.

- Or add or remove an index?

This is handled since the beginning.

- What about cold storage?

What makes Quickwit special is that we are reading everything is on S3. We adapted our inverted index to make it possible to read straight from S3. You might think this is crazy slow, but we typically search into TBs of data in less than a second. We have some in RAM cache too, but they are entirely optional.

> 2. Sampled data, generally for debugging. I would generally try to keep this at 10TB or less;

Sometimes, sampling is not possible. For instance, some of Quickwit users (including Binance) use their logs for user support too. A user might come asking details about something fishy that happened 2 months ago.

Re:Binance built a 100PB log service with Quickwit on Thursday July 11, 2024 @08:01PM (#40941684)
Again, this is application logs. The stuff you would log in your program with log4j for instance.

With a microservices architecture in particular that can pile up rapidly.

Re:Binance built a 100PB log service with Quickwit on Thursday July 11, 2024 @10:33AM (#40937254)
Thank you for the kind word @ZeroCool2u ! :)
Re:Binance built a 100PB log service with Quickwit on Thursday July 11, 2024 @10:29AM (#40937210)
Building an inverted index is actually very cpu intensive. I think we are the fastest on that (if someone knows something faster than tantivy at indexing I am interested).

I'd be really surprised if you can make a 10x improvement here.

Re:Binance built a 100PB log service with Quickwit on Thursday July 11, 2024 @10:25AM (#40937171)
If you can limit your research to GBs of logs, I kind of agree with you. It's ok if a log search request takes 100ms instead of 2s, and the "grep" approach is more flexible.

Usually our users search into > 1TB.

Let's imagine you have to search into 10TB (even after time/tag pruning). Distributing over 10k cores over 2 second is not practical and does not always economically make sense.

Re:Binance built a 100PB log service with Quickwit on Thursday July 11, 2024 @10:15AM (#40937064)
The data is just Binance's application logs for observability. Typically what a smaller business would simply send to Datadog.

This log search infra is handled by two engineers who do that for the entire company.

They have some standardized log format that all teams are required to observe, but they have little control on how much data is logged by each service.

(I'm quickwit CTO by the way)

Re:Binance built a 100PB log service with Quickwit on Thursday July 11, 2024 @09:51AM (#40936834)
Quickwit is designed to do full-text search efficiently with an index stored on an object storage.

There are no equivalent technology, apart maybe:

- Chaossearch but it is hard to tell because they are not opensource and do not share their internals. (if someone from chaossearch wants to comment?)

- Elasticsearch makes it possible to search into an index archived on S3. This is still a super useful feature as a way to search punctually into your archived data, but it would be too slow and too expensive (it generates a lot of GET requests) to use as your everyday "main" log search index.

Re:Binance built a 100PB log service with Quickwit on Thursday July 11, 2024 @09:23AM (#40936515)
This is their application logs. They need to search into it in a comfortable manner. They went for a search engine with Elasticsearch at first, and Quickwit after that because even after restriction the search on a tag and a time window "grepping" was not a viable option.
Thank you @tyler!!!
Thank you so much for sharing!!!
Re:Pg_lakehouse: Query Any Data Lake from Postgres on Monday May 13, 2024 @08:05PM (#40350077)
Yes
Re:A math puzzle and a better algorithm for top-K on Friday April 12, 2024 @02:07AM (#40009823)
A math puzzle, its relationship with the average case complexity of computing top-K using a min heap, and a simple algorithm that performs better.
Re:Indexing one petabyte of logs per day with Quickwit on Sunday March 24, 2024 @10:50AM (#39807577)
We used to have one. Maybe we can revive it. What is your use case?
Re:Indexing one petabyte of logs per day with Quickwit on Saturday March 23, 2024 @10:02AM (#39800009)
What we do is CPU bound and we are not just parsing JSON here.

The largest work we do is building an inverted index. Oversimplified, it is equivalent to this:

  inverted_index = defaultdict(list)
  for (doc_id, doc_json) in enumerate(doc_jsons):
    c = json.loads(payload)
    for (field, field_text) in c.items():
      for (position, token) in enumerate():
        inverted_index[token].push((doc, position))
serialize_in_compressed_way_that_allows_lookup(inverted_index)

You can implement it in a couple of hours in the language of your choice to get a proper baseline.

I am sure we can still improve our indexing throughput... but I have never seen any search engine indexing as fast as tantivy.

If someone knows a project I should know of, I'd be genuinely keen on learning from it.

Re:Indexing one petabyte of logs per day with Quickwit on Saturday March 23, 2024 @09:02AM (#39799630)
Quickwit co-founder here... I actually agree. For a few GBs, done right, columnar works fine AND is cost efficient.

After all, it does not matter much if a log search query answers in 300ms or 1s. However, there are use cases where a few GB just does not cut it.

The tale saying that you can always prune your dataset using timestamp and tags is simply not always valid.

Re:Indexing one petabyte of logs per day with Quickwit on Saturday March 23, 2024 @08:52AM (#39799579)
Very valuable contribution!
Re:Indexing one petabyte of logs per day with Quickwit on Saturday March 23, 2024 @03:50AM (#39798227)
What is your frame of reference?
Re:Vector: A high-performance observability data pipeline on Sunday March 17, 2024 @10:33PM (#39740048)
Quickwit is very similar to what is described here.

Unfortunately, the files are not in Parquet so even though Quickwit is opensource, it is difficult to tap into the file format.

We did not pick Parquet because we want to actually be able to search and do analysis efficiently, so we ship an inverted index, a row-oriented store, and a columnar format that allows for random access.

We are planning to eventually add ways to tap into the file and get data in the Apache arrow format.

Re:Stract: Open-souce, non-profit search engine on Monday February 05, 2024 @03:40AM (#39258717)
That looks quite promising! Thank you for crediting tantivy in the github README, that's well appreciated! Ping me if I can help with anything.

Older »