kb 05.06.2012 09:54 c8541125

на мои мысли "интересно, а возьмёт ли postgres формат BSON" пришло сразу же несколько ненавистников. мда.

hn
1. utros 05.06.2012 09:56 pedobook

только MsgPack, только хардкор!

2. kbutros /1 05.06.2012 09:59 c8541125

why not protobuf?

3. kbutros /1 05.06.2012 10:00 c8541125

а вообще, этот msgpack без десереализации как-то можно юзать? если нет — значит говно собачье (точнее не для того оно)

4. utroskb /3 05.06.2012 10:01 pedobook

Можно и без десериализации. Ничем он в этом от JSON/protobuf не отличается.

5. kbutros /4 05.06.2012 10:02 c8541125

как раз с JSON ты нихуя не можешь сделать, пока его не "десереализируешь" в память. про protobuf не скажу. а по BSON ты можешь прекрасно бродить отступами, т.к. размер объекта пишется перед ним.

6. utroskb /5 05.06.2012 10:03 pedobook

/4 ~= s/JSON/BSON/
Там тоже можно бродить отступами

7. kbutros /6 05.06.2012 10:10

судя по формату MsgPack — BSON эффективнее, т.к. в нём хранится размер всего документа, а не количество элементов (то есть ты не можешь просто пропустить массив или документ, тебе надо пропустить каждый из его элементов). но в остальном да — сгодится, наверное.

9. utroskb /7 05.06.2012 10:52 pedobook

ШТО

10. kbutros /9 05.06.2012 10:55 c8541125

что непонятно?

11. utroskb /10 05.06.2012 10:55 pedobook

Ты что-то гонишь

12. kbutros /11 05.06.2012 11:01 c8541125

ну вот формат fix map
+--------+--------
|1000XXXX|...N*2 objects
+--------+--------
=> 0000XXXX (=N) elements map
where odd elements are key and next element of the key is its associate value.

какое количество байт будет занимать эти самые N*2 objects?

13. utroskb /12 05.06.2012 11:04 pedobook

У каждого элемента там размер хранится :)

14. kbutros /13 05.06.2012 11:09

если элемент — тоже map, или массив — то аналогично придется идти "внутрь". вот об этом я тебе и говорю.

15. kbkb /14 05.06.2012 11:12

мне кажется, что в случае с небольшими документами BSON и его подход "размер, потом документ" будет лучше, т.к. объекты маленькие и в случае изменения элемента объект можно перестроить заново, пересчитав все его размеры (при вложенности). а вот бродить по ним можно будет ничего не меняя. а этот ваш MsgPack сгодится, если элементы могут быть хуй знает каких размеров, и нужно будет эффективно чего-то менять.

Do you really want to delete ?