vhbit / lmdb-rs

Rust bindings for LMDB
MIT License
114 stars 46 forks source link

Make three Database methods use dynamic dispatch #23

Closed frew closed 8 years ago

frew commented 8 years ago

These methods are all thin wrappers around NativeTransaction methods that use dynamic dispatch so monomorphizing is probably a pessimization anyhow, and this lets these functions be called with dynamic dispatch (in our case we'd like to call the function with one of a variety of ToMdbValue concrete implementations, determined at runtime).

vhbit commented 8 years ago

Merged through d692cdfdff611c848461daf80b4ee0f419a73956, thanks! btw, what is for it's used in Dropbox? Is it the same petabyte storage engine or now it's not the only internal Rust project?

frew commented 8 years ago

lol, I take it you've been chatting with Jamie :)

It's a new project for storing some timeseries data. Still very experimental, but so far so good!

vhbit commented 8 years ago

Nope, he mentioned that petabyte engine on reddit, but it was pretty general, without any specific details.

It would be exciting to have a post in engineering blog regarding any of internal Rust projects as there is not that much info about Rust in the wild and especially Rust at scale. /cc @jamwt

jamwt commented 8 years ago

Hey @vhbit,

Yeah, @frew's project is a completely separate thing. So Dropbox now has two major projects using rust:

  1. Components of our multiple-exabyte main block storage system (i.e. where your files are kept)--the original project my team started up on earlier this year.
  2. A new storage engine for Dropbox's production analytics, @frew 's new project. This is the one using lmdb.
vhbit commented 8 years ago

Yep, I've got that those are different projects, but the question is if any of you has plans to write a detailed post for Dropbox engineering blog?

On Wednesday, 23 September 2015, Jamie Turner notifications@github.com wrote:

Hey @vhbit https://github.com/vhbit,

Yeah, @frew https://github.com/frew's project is a completely separate thing. So Dropbox now has two major projects using rust:

  1. Components of our multiple-exabyte main block storage system (i.e. where your files are kept)--the original project my team started up on back toward the start of 2015.
  2. A new storage engine for Dropbox's production analytics, @frew https://github.com/frew 's new project. This is the one using lmdb.

— Reply to this email directly or view it on GitHub https://github.com/vhbit/lmdb-rs/pull/23#issuecomment-142621766.

Sent from mobile

jamwt commented 8 years ago

Ah, I see. We will eventually, but there are no immediate plans.

On Wed, Sep 23, 2015 at 9:47 AM, Valerii Hiora notifications@github.com wrote:

Yep, I've got that those are different projects, but the question is if any of you has plans to write a detailed post for Dropbox engineering blog?

On Wednesday, 23 September 2015, Jamie Turner notifications@github.com wrote:

Hey @vhbit https://github.com/vhbit,

Yeah, @frew https://github.com/frew's project is a completely separate thing. So Dropbox now has two major projects using rust:

  1. Components of our multiple-exabyte main block storage system (i.e. where your files are kept)--the original project my team started up on back toward the start of 2015.
  2. A new storage engine for Dropbox's production analytics, @frew https://github.com/frew 's new project. This is the one using lmdb.

— Reply to this email directly or view it on GitHub https://github.com/vhbit/lmdb-rs/pull/23#issuecomment-142621766.

Sent from mobile

— Reply to this email directly or view it on GitHub https://github.com/vhbit/lmdb-rs/pull/23#issuecomment-142659099.