Giter Club home page Giter Club logo

Comments (1)

shamb0t avatar shamb0t commented on June 18, 2024

Notes

Attendees:

Moderator checklist

  • Ensure that the moderator last week is the notetaker, or that someone else has volunteered
  • Call for additional agenda items

Agenda

General discussions, decisions, etc.

NPM Org

  • Scoping packages should work now. Will have "orbitdb/" in name, multiple people can publish shared packages sin team login. May have weird names

Repo template

  • Simple checklist, not enforced
  • Right now, data is loaded into memory. It’s ok for a store that does not have a lot of data. What if the store has a million record and we have multiple store at the same time? Therefore, we have to keep the data on IPFS and only retrieve when needed. Of course the disadvantage of this method is whenever we need a record, the database has to make a call to IPFS. A full scan of a store would take time. Having indices helps. Imagine we only have to store the indices in the memory, the search space can be reduced significantly.

Notes from Huy regarding orbitdb/orbitdb#438 and orbitdb-archive/orbit-db-docstore#18

  • The mongo query style is to support the multiple indices. Right now, mapper and filter can only be applied to the data array residing in memory. For now, I’m not sure if I have a docstore to store users’ profile, how can I query out all the “Data Scientist” in “China” who are “available” at the moment. Using mongoDB grammar, we can do something like docs.query(title: ‘Data Scientist’, country: ‘China”, available: true). My PR does this. If we have an index on any of those fields, the search space can be dramatically reduced, even better if we have two or more indices. However, there is no standard for noSQL query, so we don’t really have to strictly follow mongoDB, we can make up our own. But I think mongoDB has matured enough to become some sort of standard and they may have discussed about query standard carefully.
  • About builing the index object, it will be modified with a single put(), batchPut() does not alter the index. May need three more extra functions: buildIndex() to support stores that has no index created in the beginning or store having its index deleted, deleteIndex() to delete the current index, and modifyIndex() is to add more values to the index after batchPut().

Notes from haad (leaving comments here as I won't make the call, sorry)

  • @haadcode: want to discuss the indexing thoroughly before deciding on the direction and solution. this is a big topic and there are multiple layers to the possible solution(s) for indices vs. having everything in memory, design decisions and trade-offs. will try to find time soon to comment and chat on GH or Gitter and share thoughts.

  • @haadcode: ACL in ipfs-log was merged to master, we're ready to move on to make the changes in orbit-db (imo should update to the new log before big refactorings elsewhere). need to still update docs and examples in ipfs-log. let's do an npm release (might have to do a major version bump) when everything is working on orbit-db side too.

  • Our current topic is the ACL for the different databases. We're almost ready to have dynamic access for reading. Another topic in the future is handling for search indexing.

Q&A, Help Wanted

  • Bernard: I'm writing my scenario for OrbitDB. One of the features I strongly rely on is the ability to start up notes in a network. I want an orbitdb on IPFS on a p2p private network. We know all of the nodes, and we don't want to expose it to the public internet.
  • Shams: A private network is possible. Simply make a list of all of the nodes, and add them to the bootstrap network.
  • Bernard: B2B Track & Trace scenario
    Context:
    In a private consortium, B2B partner companies (vendors, suppliers, transporters, retailers) want to share Track & Trace data about the goods (products) they exchange.
    The unmutability feature guarantees consistent data and non repudiation (like blockchain transactions on blocks).
    The pub/sub functionality guarantees sharing tight data with the right partners.
  • Shams: One thing I'm not sure of is security. Things like encryption are not done automatically.
  • Bernard: I can use an SDK to have encryption on top of it. But I need to make sure that I can use OrbitDB on a private on top of IPFS. My goal is to set up a proof of concept within the next few weeks. Where I can present this scenario to my customer.
  • Shams: Are you on GitHUb?
  • Bernard: Yeah, I have a GitHub account: @berre74.
  • Shams: Any specific questions?
  • Bernard: Any link or tutorial for this or how to set up this network?
  • Shams: We have a getting started guide, but it might be out of date. Have you done this already on IPFS? The actual communication is on IPFS. So if you have the identity of all of your nodes.
  • Bernard: I've done that. But how can I set OrbitDB on top of the IPFS network?
  • Shams: I'll make a small gist or tutorial on how to do this. https://gist.github.com/shamb0t/5ca98a24dae3568a5ba8802feabf9147
  • RichardLitt: I'd be happy to work on that, too.

from welcome.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.