Skip to content

Why did we go with the Protobuf API for Datastore rather than the REST/JSON API? #517

Description

@jgeewax

Just curious -- was there an issue with the REST/JSON API ?

Activity

  1. added
    type: questionRequest for information or clarification. Not an issue.
    api: datastoreIssues related to the Datastore API.
    on Apr 30, 2015
  2. stephenplusplus commented on Apr 30, 2015

    @stephenplusplus
    Contributor

    Not sure, @silvolu and @rakyll were behind that. Not very informative, but for reference, #112 is the PR where we switched.

  3. ryanseys commented on Apr 30, 2015

    @ryanseys
    Contributor

    The reason is because JSON/REST has a much higher size overhead compared to Protobuf at the network layer and possibly other layers. Datastore is meant to be very fast and size efficient with potentially high throughout, so requests should be as small as possible. This allows a higher throughput of requests compared to using JSON. We use JSON for the other API requests because their payloads are potentially much larger, making the difference between a protobuf request and a JSON one negligible.

  4. jgeewax commented on Apr 30, 2015

    @jgeewax
    ContributorAuthor

    Cool - thanks :)

  5. added a commit that references this issue on Jan 10, 2023
  6. added a commit that references this issue on Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

api: datastoreIssues related to the Datastore API.type: questionRequest for information or clarification. Not an issue.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions