Distributed data storage
If you have many nodes and want to store data - how do you store data?
This category is to explore the various approaches to distributed data storage. One popular technique is the Blockchain - used by bitcoin, Ethereum and the dfinity internet computer.
There are other techniques available to us too! I think it is unfair on Mindey has to host 0oo.li by himself and take the cost of maintaining it by himself. We should be able to distribute arbitrary data across machines.
I think event sourcing and CRDTs can be combined to provide an alternative to the blockchain for general purpose data storage
Describes an alternative to files which are spaces which are synchronized with other peers.
CRDTs dont have to be complicated
ipfsがあります。誰でもipfsノードをホストできます。 ipfsを使用するためにooをリファクタリングするためにどれだけの作業が必要かわからない
There's ipfs. Anyone can host ipfs node. Don't know how much work to refactor oo to use ipfs
ええ、私はこの問題について考えています、そして私は正しい道は-だろうと思います
2.それを分散化します。
分散化の「方法」は、私が見ているように、機能を置き換えるdAppを検索し、それらすべてのdAppに共通のUIを提供することです。これは、Infinityのモノリスアプリケーションと集合的に同等です。
もう1つの方法は、gun.jsのようなものを使用して、新しい分散型システムをゼロから構築することです。この場合、各ユーザーは同時にシーダーになります。
// skihappy:ipfsがあります。
これは、機能を置き換える「dApps」の検索に該当します。たとえば、IPFSはファイルストレージ用のそのようなdAppです。しかし、アプリケーションとしての無限大は、dAppとしてリレーショナルデータベースを必要とします:)そのようなものはありますか? (スキーマの移行を含む)
Yeah, I'm thinking of this problem, and I think the right path would be --
Researching the database models as an optimal ontology for what is described here. (If the ontology optimizes cooperative decision-making and economic activity, then it makes sense to look for ways to scale it and make nodes decentralize it.)
Decentralize it.
The "how" of decentralization is, as I see -- searching for dApps that replace functionality, and providing a common UI for all those dApps, that would collectively be equivalent to the monolith application that the Infinity is.
Another way would be to build a new decentralized system from ground up, using things like gun.js, where each of users would be seeders at the same time.
// skihappy: There's ipfs.
This falls under the search for "dApps" that replace functionality. For example, IPFS is such a dApp for file storage. However, infinity as application requires the relational database as a dApp :) is there anything like that? (including schema migrations)
[+]
リレーショナルリンクは、データストレージの上のレイヤーであり、グラフを形成します。グラフは、リレーショナルデータベースよりもリレーショナルデータベースを表す方がはるかに優れています。リレーショナルリンクはデータセットの一部にすることができます。これがグラフデータベースの仕組みです。おそらく、そのようなipfsグラフソリューションはすでに存在します
Relational links can be a layer above data storage, forming a graph. Graphs are much better to represent relational database then relational database. Relational links can be part of data set. That's how graph db works. Perhaps, there's already an ipfs graph solution like that already
人々が助けるためにできる最も簡単なことは、データのバックアップを取るために毎日実行されるスクリプトを持っているダンプURLでデータベースをバックアップすることです。残念ながら、メインコンピュータの電源がオフになっているため、次の4か月間は実行していません。
Neo4jやDgraphのようなグラフデータベースが好きです。 Graphblasのように、行列乗算を使用して幅優先探索を実行する単純なものも作成しました。
Mindey the simplest thing that people can do to help is to backup the database with the dump URL which I have a script that runs daily to take a backup of the data. My main computer has been switched off unfortunately so I haven't been running it for the next 4 months.
I like Graph databases like Neo4j and Dgraph. I have even written a simple one that uses matrix multiplication to do Breadth first search like Graphblas.
このカテゴリに隠されているのは、P2Pの動作を取得する最も簡単な方法は、データストレージレイヤーをP2Pにすることであり、それ以外はすべて従来型であるという考えです。
Hidden in this category is the idea that the easiest way to get P2P behaviour is to make the data storage layer P2P and everything else is traditional.
//データストレージレイヤーをP2Pにし、それ以外はすべて従来型にします
それは完全に理にかなっています-ほとんどのソフトウェアシステムはデータベースシステムのクライアントです。
// make the data storage layer P2P and everything else is traditional
It makes perfect sense -- most of software systems are clients of database systems.
プロジェクトハイパーハイパースペースは興味深いプロジェクトだと思いました。ファイルではなく、スペースがあり、それらは、何らかの形でシームレスにマージされるメルケル有向非巡回グラフによって裏付けられています。 CRDTを使用すると仮定します。
彼らはあなたがそれ、フォーラム、チャット、ウェブサイトなどでほとんどすべてのアプリを構築できると言います
I just found the project hyper Hyper space it's an interesting project. Rather than files you have spaces and they are backed by a merkel directed acyclic graph that somehow merges seamlessly. Assuming it uses CRDTs.
They say you can build almost any app with it, forum, chat, website etc
Hyperhyperspaceの問題は、その機能を実装するためにデータを格納するために使用するオブジェクトを引き継ぐため、決して使用しないことです。したがって、それは悪いアプローチを取ります。
メモリ内に単純なオブジェクトグラフを作成するには、MutableReferenceと呼ばれるクラスを使用してオブジェクトをリンクする必要があります。私には気分が悪い。
The problem with Hyperhyperspace is that I would never use it because it takes over the objects you use to store data to implement its functionality. So it takes a bad approach.
To create simple object graphs in memory you have to use a class called a MutableReference to link objects together. Feels wrong to me.
ハイパーハイパースペースデータレイヤーがスペースの内容を他のピアと同期する場合、受信した変更がアプリケーションのデータの前提を尊重していることを検証する必要があります。そして、ええ、変更可能なものはすべて、CRDTのような操作として変更をマーシャリングする方法を知っているタイプでラップする必要があります。
プロジェクトは実験的なものであり、その結合を削除する方法を理解する前に、さらに反復が必要になる可能性があります。このモデルは、以前のモデルよりもかなり単純化されています:)
When the Hyper Hyper Space data layer synchronizes a space contents with other peers, it needs to validate that the received changes respect the data assumptions of the application. And yeah, anything that's mutable needs to be wrapped in a type that knows how to marshal the changes as CRDT-like operations.
The project is experimental, maybe we need more iterations before we figure out how to remove that coupling. The model is already a considerable simplification over previous ones :)
ハイパーハイパースペースに関する1つの小さな説明:オブジェクトをリンクするためにMutableReferenceを使用する必要はありません。リンクしたオブジェクトを後で別のオブジェクトに置き換えることができるようにする場合にのみ、MutableReferenceが必要です。
One small clarification about Hyper Hyper Space: you don't need to use MutableReference to link objects together, you need it only if you want to be able to replace the object you linked with another one later!