Forum: Other

Post: Volt DB for Windows

Volt DB for Windows
dgarijo
Apr 5, 2010
Hello, are you going to release a development kit for Windows users?
Can I build VoltDB from the sources? I would really like to try it, but i 'm not planning to change my os for the moment...
Yes and No.
jhugg
Apr 6, 2010
We don't support running a VoltDB cluster on Windows at the moment. In the future, if customer demand is there and we have the resources, we would love to get VoltDB onto more platforms.

In the meantime, there is a bit of good news. As our Java VoltDB client is pure java, you should be able to access VoltDB from any platform with a Java 1.6 JRE, including Windows.

VoltDB also runs on a linux virtual machine inside a VM, such as VMWare or VirtualBox. The important thing to remember in a VM is that VoltDB will be limited to the VM's memory.

-John Hugg
VoltDB Engineering
Dev only?
henning
Apr 16, 2010
We don't support running a VoltDB cluster on Windows at the moment. In the future, if customer demand is there and we have the resources, we would love to get VoltDB onto more platforms.

In the meantime, there is a bit of good news. As our Java VoltDB client is pure java, you should be able to access VoltDB from any platform with a Java 1.6 JRE, including Windows.

VoltDB also runs on a linux virtual machine inside a VM, such as VMWare or VirtualBox. The important thing to remember in a VM is that VoltDB will be limited to the VM's memory.

-John Hugg
VoltDB Engineering




So this is for development only then?
Hi Henning, Not sure I
ajgent
Apr 16, 2010
So this is for development only then?




Hi Henning,
Not sure I understand your question. Could you be more specific?
"So this is for development only then?"
By "this" are you referring to running the client on Windows or running a VoltDB server in VM? And by "development only" are you asking what is supported by the VoltDB team or something else?
Sorry if I am being dense,
--Andrew
Windows ever for production?
henning
Apr 16, 2010
Hi Henning,
Not sure I understand your question. Could you be more specific?
"So this is for development only then?"
By "this" are you referring to running the client on Windows or running a VoltDB server in VM? And by "development only" are you asking what is supported by the VoltDB team or something else?
Sorry if I am being dense,
--Andrew


No, sorry for the blurriness.

Basically, my question was, if VoltDB under Windows, with or without the VM solution, would always be limited to the use for development and tests. And never good for running an actual production system on?

Or is this solution so fast and stable that you could use Windows servers with VM to deploy an actual VoltDB production system on it?

I can't imagine that. That's why I am asking. But maybe that was too far out :-D
Future platform support
ajgent
Apr 18, 2010
No, sorry for the blurriness.

Basically, my question was, if VoltDB under Windows, with or without the VM solution, would always be limited to the use for development and tests. And never good for running an actual production system on?

Or is this solution so fast and stable that you could use Windows servers with VM to deploy an actual VoltDB production system on it?

I can't imagine that. That's why I am asking. But maybe that was too far out :-D


As John stated, support for additional platforms will be driven by customer demand and available resources. So, we aren't saying Windows won't be supported -- but until there is a clear need (overriding other features or platforms) it is not on our current roadmap.

Because VoltDB is focused on performance, it is unlikely anyone would be content running it in a VM on top of Windows for anything but testing and development. However, we suspect there are people who will want to run VoltDB using virtualized servers (under a hypervisor). We would be very interested in talking to anyone planning that scenario.

--Andrew
avaluedcustomer
Jan 11, 2013
I know the Linux fans don't like to hear this, but a lot of developers are using Windows.

Having to fire up a VM with Linux just to be able to use a DBMS that was written in Java seems a huge overkill.

After changing the voltdb shell script to a Windows batch file I can even start VoltDB on Windows, but apparently it does check the operating system during startup.
So I see the VoltDB banner and then it immediately shuts down with the message "Unable to determine operating system. Exiting."

The popularity of e.g. MySQL is (also) largely based on the fact that it was always available for Windows right from the start. PostgreSQL's popularity really increased after the Windows port was stable. So if you want to make life easier for developers (and thus spread VoltDB) you should really think about it. There is nothing wrong with stating clearly that it's not supported as a production platform, but you shouldn't prevent its usage as a development environment.
bballard
Jan 11, 2013
avaluedcustomer,

VoltDB is written partly in java and partly in C++. It would require some non-trivial porting to get the C++ part of the database to compile for Windows. It currently compiles only on Linux or Mac OS X.

Several of the client libraries are portable and can run on Windows, including the java client library, Python, Node.js. We also have a Windows native C# client library.

-Ben
avaluedcustomer
Jan 14, 2013
Ah, thanks. I wasn't aware of the C++ part (as it never becomes visible). Makes sense then.
christianh
Jun 17, 2013
hi everyone,

i am running VoltDB inside a Virtual Box VM with Ubuntu 12.04 LTS as Host and JDK6 64 bit. I provided 35GB of Ram an 12 Cores. The Host Machine is a Dual Xeon Hexacore 2,8Ghz with 48 GB of Ram.
The odd thing is, that when i let the K/V Benchmark run, i only get some 30K Transactions/Sec and have rather high latency timings of 2-3 ms albeit running everyhting on localhost. 25

When i do the very same on my Macbook Pro ( QuadCore i7 2,3 Ghz, 8 GB Ram) i have aouren 75K transaction/sec and latencies below 1 ms. 26

Does anybody have an idea why that might be?

Guest additions are installed, i also checked with VirtualBox FAQ for troubleshooting performance issues and therefore already disabled C1E and Intel C State Functionality in the Host Machines BIOS, but it all had no effect.

Or is it just that type 2 hypervisors are that bad? can't believe...

regards,
christian
jhugg
Jun 17, 2013
I don't think anyone here at VoltDB has hard performance numbers for VirtualBox on any host, or any VM tech on Windows. Most of our performance testing has been on VMWare on Linux host or ESX, or EC2 in the cloud. VMWare is pretty fast with our command-logging feature off (default). EC2 is hard to compare apples-to-apples.

It does seem plausible that would see that kind of slowdown. I wonder if you could try VMWare?

Also, are you running the stock K/V benchmark from our kit? Finally, what version of VoltDB exactly?

Thanks.
christianh
Jun 17, 2013
I might be able to give VMWare a try. Unfortunately not as type 1 hypervisor, since i do not have any license at hand.

I am running the stock K/V benchmark delivered with VoltDB without any parameter changes and on the standard single node setup of the server (via run.sh script).
Version of VoltDB is 3.3.0.1 Community Edition

Thanks,
chris
jhugg
Jun 17, 2013
Another thing you might try is running the same VirtualBox vm on your mac. It will be slightly RAM-constrained, but might be interesting regardless.

Ultimately, I'm not optimistic about VirtualBox on Windows, but I'll ask around the office and see if anyone has any thoughts.
christianh
Jun 17, 2013
Cool thanks!

I could try VMWare Workstation (as trial version) and/or VMWare Player. Does it make sense to use Workstation over Player?

Actually it's a bit stupid... i would lovingly install Linux on the machine i am using, but others here at my university are also using the machine and rely on windows. Due to a soon to happen energy-focused building refurbishment we will have to move the server to some high security datacenter, so that i can't access it anymore.

What i am actually trying to do with VoltDB is to integrate it into a larger, massively distributed, multi-agent-simulation architecture as a caching database for simulation data, which then in a second step would be written to a persistent, star-schema'isch, long-term database (probably PostGRE SQL since we need to stay open source on this). The idea is that VoltDB gives me the speed I need to read and write so fast, that I can actually access that data fast enough for a at least 4fps visualization. It's going to be an ecological simulation with about 6 million agents.
So i wanted to test is whether or not VoltDB is up to the task. You don't happen to have results from comparable applications?

thanks,
christian

//update
ok, just tried VMWare Workstation. It's definitely better!
Same configuration, but with 8 cores, instead of 12, because VMWare wouldn't let me. Tnx/Sec went up to 58.000 an latency dropped considerably. Still a speed difference of ~30K tnx/sec but i guess thats caused by the type 1 hypervisor.
bfraley
Nov 1, 2014
More than a year has passed since the last posting here. I am hoping that there has been some progress towards implementation on Windows server. Our application runs on both Windows and Unix (and others). Our application does its own caching, but an in-memory database would work better. The majority of our fortune-500 customers choose to run the application on Windows server. We would like to have a supported version of VoltDB on Windows.

An earlier post stated that you are waiting for pressure to implement on Windows before starting that development. I can state that without Windows support you are dismissed as an option by our company without ever hearing from us. The vast majority of Windows demand will only become visible once you support Windows. Then if you have the demand you can improve the support beyond the initial implementation.
jpiekos
Nov 2, 2014
We've recently been deploying VoltDB via Docker, which would provide an easy path (at high performance) to running VoltDB on Windows servers. Would that help your deployments?
Drop me a note to discuss further, jpiekos at voltdb.

Thanks,

John