Comments (10)
@erikzhang you are probably aware but there is a new variant "FasterLog" that seems a even better fit for the project: https://github.com/microsoft/FASTER/blob/master/docs/cs/FasterLog.md
from neo-modules.
I think that it's a very good idea.
from neo-modules.
The problem with mongo it's that the we need to deserialize the binary to the json, because it has no sense if we don't use json format in Mongo. For debug it could be useful, but not for release, it will be slower
from neo-modules.
@erikzhang I can assign this task to me if you like
from neo-modules.
Considering what you already did on RocksDB this sounds a good idea, @shargon, good initiative!
@shargon do you believe MongoDB is also becoming a feasible option? Many people will like it because it is easy ported to other ones such as DynamoDB.
from neo-modules.
@shargon, I believe you are right.
Perhaps it would be good as a Publisher only, as @hal0x2328 did here: https://github.com/CityOfZion/neo-plugins-coz/tree/master/DynamoDBPublisher
from neo-modules.
I will take a look.
from neo-modules.
I did create this storage, but its very slow cause of the overhead for seek forward
and seek backward
. Also it a memory cache, like Redis
, but you can take snapshots.
edit: i can look into it again if needed.
from neo-modules.
I looked back into it and its slow at syncing offline. 2-3 per second. I think i know why it's the seek function. Maybe you can write a better one? Keep in mind that sessions are not thread safe.
from neo-modules.
After getting from help from the faster
team, I was able to get get about 5-10 per second compared to leveldb which is hitting 50-100 per sec. Leveldb is about 10 times faster. But there is an upside to this. This is the store size of just 2,000 blocks on testnet T5.
Now Faster
has so much potential but we would need to rip out the current caching system and storage system we have in neo
. neo
is very limited on performance, currently. But once synced you don't notice it because a new block comes every 15 seconds.
Some features that Faster
has is
- Devices Types
- Azure storage
- Custom Storage Devices (like you can make AWS, or anything you want)
- Clustered Remote Server Devices
- Shared Storage Devices
- In Memory Devices
- Everything is customizable from
- Serialization
- Key Value Types
- and more
- Downsides
- No Range Index (seeking)
from neo-modules.
Related Issues (20)
- Remove unnecessary dll when build or publish a plugin HOT 1
- [3.6.2] GetNativeContracts Exception HOT 1
- Native contracts versioning for `getnativecontracts` RPC call HOT 4
- Tx showed HALT in ApplicationLogs but has exception returned HOT 2
- Change nuget for ConsoleService for a modified local client HOT 1
- Aspnet dependencies problems HOT 53
- Missing `wsport` field of `getversion` RPC structure on RPC client side HOT 2
- Oracle: Add Other Mime Types HOT 4
- Testing plugin HOT 1
- DBFT plugin can't be loaded correctly HOT 1
- Expose MaxIteratorResultItems in `getversion` output HOT 3
- Update new submodule HOT 3
- Errors against current master HOT 2
- Next version HOT 3
- AI Code Reviewer problems when checking PRs HOT 2
- RpcServer: return `RpcError.InsufficientNetworkFee` error where appropriate HOT 3
- dotnet output folder not working for AppLog HOT 3
- modified file when clonning repo HOT 7
- Fix Oracle Plugin against Master
- Malformed `getapplicationlog` RPC request result HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neo-modules.