Difference between JuliaDB and DataFrames

Is anyone familar to both DataFrames.jl How does JuliaDB.jl compare to DataFrames.jl?

I edited the title to say DataFrames as I believe that is what you meant to say (you had DataTables).

I am but one person, but I will weigh in: most people should be using DataFrames.jl at this point. The latest updates over the last several months have really improved the experience and performance. JuliaDB.jl is basically not maintained and certainly not actively developed. The last year’s worth of commits are mostly justly just related to CI and not about the package itself. There could be a few usecases where JuliaDB is still the right choice, but they would likely be much fewer in number now that DataFrames has matured significantly.

3 Likes

OK thanks.

I know that there are other packages that tie into databases, but I,m not sure how well they do for performance. Mondoc.jl is fast, but MangoDB isn’t relational, so that would be an issue for what I’m doing.

Is there a way to save DataFrames as xlsb binaries?

I am not aware of any Julia package that can save tables in that format.

JuliaDB does, but I don’t want to use it just for that.

I am not aware of that functionality in JuliaDB. I was under the impression the save functionality in JuliaDB uses the base Serialization.

Maybe I’m wrong on this, what is base Serialization?

maybe this? Serialization · The Julia Language

One function ('serialize") writes a variable (value, array, structure, anything) to a file, a second function (“deserialize”) reads it in again. Very very useful.

Are you by chance aware, why JuliaDB is not actively developed anymore? I haven’t used it yet, but the ability to work with data larger than memory easily seemed like the USP and reason to use it over DataFrames in some cases?

It is activly developed, the last update for JuliaDB is later than the last update, for DataFrames. JuliaDB has something like 40 contributors, while DataFrames has over 100. That is good to know.

I was not involved with it so I don’t really know. I also think that it looks great, and it is a bit unfortunate that it fell down the priority list. I believe that perhaps there used to be some financial backing for developing it and that ran dry – could be misremembering…? I know many people would probably be very happy if someone were to volunteer as a maintainer!

JuliaDB could hardly be considered “actively developed”. There is only one person with a recently-updated PR, and that’s CI-related.

The reason that JuliaDB isn’t actively developed is mostly due to a mixture of:

  1. The original developers are busy and JuliaDB isn’t their work priority
  2. JuliaDB has plenty of crufty legacy code that is in need of a refactoring
  3. CI is (currently) unreliable
  4. JuliaDB users generally appear to be uninterested in its upkeep, and keep filing issues without contributing fixes

JuliaDB is basically in maintenance mode until one or more people take up the torch of triaging issues and fixing the most important/easily fixable problems.

3 Likes

Interesting, not sure how to get it on track.

What about monoc.jl, an sql package, or Diana.jl to connect to a database like faunadb?