1,699 karma · joined October 5, 2008
For that you need to use a cluster file system, but that's a different beast.
Ceph(FS) and other distributed file systems allow you to access your data from any number of machines. Also they provide faster and more robust failover as they don't have to unplug the virtual hard drive and repair the local file system.
What you have in your bank account is not digital cash. It's effectively a note that the bank owes you cash.
This may sound like a technical detail but as far as I understood without physical money there would be no bank accounts. That's what I always wondered about: how could an economy go 100 percent electronic banking, if banking is built on the existence of physical cash?
This is the missing link. With those accounts you actually would be able to own electronic cash.
That said I have no idea how this would work in practice. Maybe you would have the payment option to pay with this electronic cash. But why would you pick one over the other?
I understand your unit of smallest write is a blob. How large are blobs? How does their identifier look like?
b) It is completely unclear how the replication works, and which properties it has (split-brain safe?). From what it states (see citation), the "repair" is not automatic.
> Usually distributed file systems split each file into chunks, a central master keeps a mapping of filenames, chunk indices to chunk handles, and also which chunks each chunk server has.
> The main drawback is that the central master can't handle many small files efficiently, and since all read requests need to go through the chunk master, so it might not scale well for many concurrent users.
The chunk server architecture has been first put into production with the Google File System AFAIK. And it has been designed specifically for large files (what search needed at that time). So no surprise.
But that's only one architecture for a DFS. There are also block-based DFS (like GPFS), object-based DFS (Lustre.), cluster file systems (OCFS), and other architectures. They exhibit other characteristics.
Telling from the architecture and Wiki, it does not seem to be a file system at its core, but an object store with a file translation layer. One of the core problems of this approach is that in-place updates usually mean read-modify-write (if the object store has immutable objects, like most have, with Ceph being a notable exception).
From the replication page:
> If one replica is missing, there are no automatic repair right away. This is to prevent over replication due to transient volume sever failures or disconnections. In stead, the volume will just become readonly. For any new writes, just assign a different file id to a different volume.
This sounds like the architecture and implementation is still pretty basic. Distributed storage without redundancy (working redundancy!) is not that interesting.
Sorry to be that critical (great that someone writes a distributed file system!), but I think it is important to add some context. And the seaweed auther seems to have problems with bold statements either...
Disclaimer: I also work on a distributed file system (with unified access via S3 ;)
The reason is the engineering culture and the promotion system. People expect to switch to new projects, and work towards to a promotion within 2-3 years. This shows in all products, and presumalby also the reason for the deprecation. New people come on the project, want and need to do a major overhaul, and do not have resource or incentives to support the old stuff.
The other half is that most projects are done efficiently by relatively small groups of engineers. I remember that Android Market was still a few people in MTV, with no payment possibilities outside of the US, when Apple already had significant revenue from apps. And that shows everywhere. I'd argue Google is incapable of tackling projects that require more than a few hundred people for more than 2-3 years.
But as a billion dollar company, that does not work. Throwing money at obvious new billion dollar opportunities like Microsoft did with gaming and cloud, and following through over 5 years is not possible for Google.
Here we have the interest of IBM/Redhat that as a services company benefits from an as open as possible model, whereas Google as a product company notices that their hugely successful k8s play does not turn into business for their cloud product as intended.
I guess AWS does not care that much about single stream S3 performance but will optimize for costs.
Not a good plan to distribute malware without going through the effort of faking a legitimate business aswell.
Kids that are into hip-hop still listen to 90s hip-hop, now called golden era.
On the other side 90s electronic music has great stuff, but the field has much advanced in quality and depth.
As a scheduler it's much more powerful in capabilities, scalability and performance. It was designed to react to different workload demands in huge clusters very quickly. Imagine a data center goes offline and you need to spin up the search engine while killing a map reduce with 20k workers. A borg cluster is war zone, priorities and quotas win.
Yes, it needs a failure detection mechanism, because next time it might be a cosmic ray. But encryption and authentication alone doesn't help necessarily.
The wikipedia suggests they use standard hardware components?