GithubHelp home page GithubHelp logo

Comments (13)

michaelandrepearce avatar michaelandrepearce commented on May 31, 2024

VersionedStorable adding a globally unique id to this in the tables/storage would then be able from a single unique id, retrieve a vesionedstorable , which then using this retrieved object can use the root entity to get back the schemametadata also

from registry.

michaelandrepearce avatar michaelandrepearce commented on May 31, 2024

On checking it seems there already is a unique id named "id" for SchemaVersionStorable :), could just use this.

from registry.

michaelandrepearce avatar michaelandrepearce commented on May 31, 2024

id = globally unique id for a schema aka this could be SchemaVersionStorable id.

methods/apis needed to implement that Confluent Avro Serializer/Deserilizer invokes.

Serializer:
int register(subject, schema)

POST /subjects/{subject}/versions
body:
{"schema": "{\"type\": \"string\"}"}

Deserializer:
Schema getBySubjectAndID(subject, id) actually delegates for remote call ->SchemaString getByID(id)

GET /schemas/ids/{id}

int getVersion(subject, schema) actually delegates for remote call -> Schema lookUpSubjectVersion(subject, schema)

POST /subjects/{subject}
body:
{"schema": "{\"type\": \"string\"}"}

from registry.

michaelandrepearce avatar michaelandrepearce commented on May 31, 2024

@satishd We have this now implemented with tests locally ready to share/raise PR for, it builds on some of the other PR's we have open though, to avoid nasty merge conflict issues, any possibility having merged our current PR's

and then ill sort the merge conflicts on this one:

#125

from registry.

satishd avatar satishd commented on May 31, 2024

@michaelandrepearce I am fine with having confluent schema registry compatible API but I would like to know your plans on migration path.
We would expect users would need to eventually change ser/des on their existing applications. New application can start this registry ser/des and respective APIs.

from registry.

michaelandrepearce avatar michaelandrepearce commented on May 31, 2024

@satishd with having this will mean we can use confluent serdes, so on day one its just a service switch out, as in we can re-route via networking or quick runtime property change, no need for code deploys, which in a large environment would be almost impossible. the selling point is to have a global schema registry (one source of truth)

We will have for a long time the need to run with confluent protocol on some flows, (0x0 + int id + serialised data), thus my suggestion (issue raised) we adopt this also at client level for produce/consume, so we can migrate clients serdes easier as it also would be compatible, reason why is there is a large eco-system already supporting this. If not any such any flow still not able to migrate will have to remain on the confluent serdes until support is added. Which would hinder adoption.

Areas that would cause this for us as current are:

  • Language Support
    ** C++ clients
    ** Python clients

  • ThirdParty Tools/Systems e.g.
    ** Vertica
    ** StreamSets

from registry.

satishd avatar satishd commented on May 31, 2024

@michaelandrepearce That makes sense. It would be great if you can write a doc or wiki about the migration path that you are following, it will be useful to other users.

from registry.

michaelandrepearce avatar michaelandrepearce commented on May 31, 2024

@satishd will do, and happy to contribute this, could you possibly suggest a sensible location for us to make this wiki page.

from registry.

satishd avatar satishd commented on May 31, 2024

@michaelandrepearce You can add as a new wiki page here for now.

from registry.

harshach avatar harshach commented on May 31, 2024

@michaelandrepearce @satishd it would be good to have this in docs here https://github.com/hortonworks/registry/tree/master/docs and they will be published once we merge here http://registry-project.readthedocs.io
But whichever makes it easy to get this in, if wiki is easier lets do that. This is been most asked question so far.

from registry.

michaelandrepearce avatar michaelandrepearce commented on May 31, 2024

Thanks @harshach @satishd , i have raised a PR #164 for initial review, its not 100% so not quite ready for merge (e.g. need to adjust commit messages etc), but if you could read over, cheers.

from registry.

satishd avatar satishd commented on May 31, 2024

@michaelandrepearce ConfluentSchemaRegistryCompatibleResource and confluent protocol ser/des addresses compatible required for migration from confluent SR. Do we have anything remaining for migration w.r.t compatible API? If not, we can close this issue.

from registry.

michaelandrepearce avatar michaelandrepearce commented on May 31, 2024

@satishd i think so, anything else can just be a new issue. Ill close it now.

from registry.

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.