Details

    • Type: Improvement
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: planned but not scheduled
    • Component/s: Storage
    • Labels:
      None

      Description

      Most collections, even if they dont contain the same structure , they contain similar. So it would make a lot of sense and save a lot of space to tokenize the field names.

      When the client connects to the DB, the DB could send the token table to the client. It surely won't be big. When the client needs to serialize a field it does not have a token for, it assings a random 32 bit value to it and sends the token along with the command.

      Of course, this could be optional.

        Issue Links

          Activity

          Hide
          Schmidty Kevin "Schmidty" Smith added a comment -

          If you happen to be working in Node, you can try mingydb.

          Show
          Schmidty Kevin "Schmidty" Smith added a comment - If you happen to be working in Node, you can try mingydb .
          Hide
          hitchhiker Francis West added a comment -

          Great news - if the storage engine's compression takes care of the problem (do we have some stats - with/without tokenised names?) - then I'll be happy to rely on that solution.

          Show
          hitchhiker Francis West added a comment - Great news - if the storage engine's compression takes care of the problem (do we have some stats - with/without tokenised names?) - then I'll be happy to rely on that solution.
          Hide
          dandv Dan Dascalescu added a comment -

          Should this be closed now that compression has been implemented?

          Show
          dandv Dan Dascalescu added a comment - Should this be closed now that compression has been implemented?
          Hide
          jonathanv jonathanv added a comment -

          The storage engine's compression only potentially takes care of this problem. If there are a lot of small documents in a large block size, the compression on fieldnames will be very noticeable. If there is one large document spanning multiple blocks, the compression on fieldnames will not be noticeable.

          Show
          jonathanv jonathanv added a comment - The storage engine's compression only potentially takes care of this problem. If there are a lot of small documents in a large block size, the compression on fieldnames will be very noticeable. If there is one large document spanning multiple blocks, the compression on fieldnames will not be noticeable.
          Hide
          johnnyshields Johnny Shields added a comment -

          This can be done in Ruby Mongoid by using field :foo, as: :field_full_name (where "foo" is the min-size token in the DB)

          Show
          johnnyshields Johnny Shields added a comment - This can be done in Ruby Mongoid by using field :foo, as: :field_full_name (where "foo" is the min-size token in the DB)

            Dates

            • Created:
              Updated:
              Days since reply:
              1 year, 2 weeks, 6 days ago
              Date of 1st Reply: