Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-19496

Latency optimized write API

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Gone away
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Networking, Write Ops
    • Labels:

      Description

      MongoDB's legacy OP_INSERT, OP_UPDATE, and OP_REMOVE wire protocol operations don't return a response. This allows users to write applications that provide good write throughput with very low latency, assuming they aren't concerned with individual failed writes (for example, storing clickstream data for later aggregate analysis). The write commands introduced in MongoDB 2.6 always return a response regardless of the w value passed for writeConcern. If / when legacy write operations are removed from the server, application developers will no longer have a way to achieve the same low latency write performance. This is particularly a problem for client languages that provide no real parallelism (CPython / pypy, Ruby MRI), no usable threading support (Perl) or no threads of any kind (PHP).

      One solution to this problem could be to provide a streaming write API, in addition to the existing RPC model. Clients could start a write session with the server, pushing mixed write operations (rather than batches of the same type of write operation required by existing write commands), then receive a write result when the session is closed.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-tuning Backlog - Tuning Team
              Reporter:
              behackett Bernie Hackett
              Participants:
              Votes:
              1 Vote for this issue
              Watchers:
              24 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: