1.3, Вареник (?), 00:32, 11/11/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
В своей нише (расшадить БД на 10.000 нод) у отой базыне нет альтернантив.
| |
|
|
3.5, Классический анонимуз (?), 04:50, 11/11/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
СцЫллу только начали писать, и функционал до Кассандры не дотянули даже близко. Внедрений ноль. А тут уже под 10 лет эксплуатации на жирнейших задачах.
| |
|
4.6, Аноним (-), 05:53, 11/11/2015 [^] [^^] [^^^] [ответить]
| +5 +/– |
> СцЫллу только начали писать
Делаем ставки, за сколько месяцев выпрут жабу на помойку после того как СцЫллу допишут.
| |
|
|
6.11, Аноним (-), 08:59, 11/11/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
Допишут-допишут, не волнуйся так. Хоть ты и пытаешься сучить ножками, осознавая, что против плюсового решения у жабы нет шансов, факта это не изменит.
| |
|
|
|
|
2.8, Аноним (-), 08:11, 11/11/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
10000 нод потому что жаба на меньшем не шевелится даже? а постгрес один справился бы?
| |
|
3.9, Классический анонимуз (?), 08:29, 11/11/2015 [^] [^^] [^^^] [ответить]
| –3 +/– |
Так набрасываешь, аж вспотел наверное? А у нас на некоторых задачах джава работает быстрее приплюснутого си. В случае с Кассандрой всё ещё интереснее - она просто работает, а все остальные поделены на ноль и существуют только в сферическо-вакуумных мечтах сишных фанатов
Про постгрес посмеялся...
| |
|
4.10, АнонимУася (?), 08:54, 11/11/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
>>А у нас на некоторых задачах джава работает быстрее приплюснутого си.
1) Выгоните своих кодеров на плюсах.
2) Расскажите про задачи, на которых жаба задушила плюсы, мы тут посмеяться хотим.
| |
|
5.13, RaSla (?), 09:17, 11/11/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
http://blog.carlesmateo.com/2014/10/13/performance-of-several-languages/
JIT (в идеале) написав саму программу 1 РАЗ, позволяет запустить её используя МАКСИМУМ производительности на КОНКРЕТНОМ компе (задействовав оптимальные инструкции КОНКРЕТНОГО процессора)
вместо компиляции С/С++ с флагами оптимизации под каждый тип процессора в "серверной" (а потом ещё и деплоить на каждый сервер "истинно-верную версию" - тоже гемор ещё тот).
Будущее лвиной доли программ Прикладного уровня однозначно за JIT.
А JIT (на данный момент времени) одна из лучших реализаций всё-таки - Oracle Java ...
(к моему сожалению)
| |
5.15, Классический анонимуз (?), 09:31, 11/11/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ну например берем список недействительных российских паспортов (с сайта ФМС). 94 млн записей. Надо выделять дельту, т.е. скачали сегодня (сунули в SQL), через пару дней там 94млн+~20k. Надо найти эти 20k и засунуть в SQL.
На джаве за 40 сек отрабатывает на древнем 2.5ггц ксеоне. Сишечка грубо на 20% дольше, плюс саму программу писали в разы дольше.
Жалко, что я в map-reduce не силён, так бы можно было ещё в 4 раза ускорить джавку ;)
p.s. для умников собирающихся покричать "сделай сразу 100млн инсертов", сразу отвечаю - это примерно полчаса средствами ОрацлеЕЕ.
| |
|
6.21, Аноним (-), 10:52, 11/11/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вариант что ты в сишечке анскиллед лузер - в рассчёт не принимается?
| |
|
7.22, Классический анонимуз (?), 11:47, 11/11/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
Words are cheap (c)
Show you code, Luke! И сюда ссылочку на свой гитхабчик с кучей реактивного кода. Я на том же железе запущу ;)
| |
|
6.32, . (?), 05:55, 12/11/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Ну например берем список недействительных российских паспортов (с сайта ФМС). 94 млн записей. ....
>На джаве за 40 сек отрабатывает на древнем 2.5ггц ксеоне. Сишечка грубо на 20% дольше, плюс саму программу писали в разы дольше.
А попробуй тупо: sort list_old > list_old_s; sort list_new > list_new_s; diff list_old_s list_new_s :-)
А то я пару раз уже наступал когда это уделывало все кассандры\шмасардры\оракакелы :)
| |
6.35, Voland (??), 23:40, 16/11/2015 [^] [^^] [^^^] [ответить]
| +/– |
В sqlite на десктопной машине с iCore 5 загрузка за 2.5 минуты.
| |
|
5.18, ДяДя (?), 10:19, 11/11/2015 [^] [^^] [^^^] [ответить]
| +/– |
Есть у вас абстрактный класс. Есть массив, который содержит объекты классов-потомков этого класса. Заранее НЕВОЗМОЖНО знать какие конкретно потомки в этом массиве. Вы перебираете массив, получаете объект и вызываете какой-то метод.
Это в C++ ОЧЕНЬ медленно, т.к. нужно ВСЕГДА залезать в специальную табличку, чтобы понять где находится исполняемый код конкретного потомка.
В Java в рантайме определяется какой конкретный класс в массиве и вызов испоняемого кода инлайнится. Т.о. лезть в табличку при КАЖДОМ вызове метода не нужно. (Раньше было ограничение на то, что в массиве не боле 2-х различных классов. Сейчас не знаю, но в реальной жизни два возникает очень часто).
А таких оптимизаций во время выполнения ОЧЕНЬ много.
| |
|
6.20, Аноним (-), 10:51, 11/11/2015 [^] [^^] [^^^] [ответить]
| +/– |
Выкидываешь абстрактный класс, и этот кусок пишешь на шаблонах. Всё, жаба начинает реактивно сливать.
| |
6.29, demon (??), 23:09, 11/11/2015 [^] [^^] [^^^] [ответить]
| +/– |
Теретически задача неплохая. А вот каково практическое применение? И главное - нельзя ли конечную практическую задачу решить более простыми методами?
| |
6.30, alex (??), 01:21, 12/11/2015 [^] [^^] [^^^] [ответить]
| +/– |
можно поподробнее, каким образом жава определяет где какой метод инлайнить?
я лично вижу только один способ: хранить в объекте флаг и в вызове метода делать что-то типа:
if(flag)
do_method1();
else
do_methd2();
Через switch/case можно расширить на большее разнообразие подклассов.
Но как-то это всё неизящно что-ли.
Дак как там на самом деле? реально интересно
| |
|
5.19, Нанобот (ok), 10:29, 11/11/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
>1) Выгоните своих кодеров на плюсах.
да! потому что аноним опеннета так сказал!
| |
|
|
3.14, pkdr (ok), 09:27, 11/11/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
Справедливости ради, даже несмотря на все "прелести" явы и ставшее притчей во языцех "ява не тормозит(с)" сама по себе кассандра довольно шустрая штука, когда надо писать в базу МНОГО данных.
| |
|
2.16, Аноним (-), 09:33, 11/11/2015 [^] [^^] [^^^] [ответить]
| +/– |
Ошибаетесь. Намекну на правильный метод: самой базе необязательно что-либо знать о шардировании.
| |
|
|
2.17, Аноним (-), 09:50, 11/11/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
На самом деле дешевле чем в любой реляционной БД написанной на C, т.к. обычно нужно не только хранить, а еще читать и писать.
| |
|
1.24, Аноним (-), 14:50, 11/11/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В ней CAS (прочитать значение и время создания значения - изменить значение с указанным временем создания) реализован?
| |
1.25, Аноним (-), 15:22, 11/11/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
хочу хранить ключ в нескольких копиях (для надежности) но чтобы не было возможно расслоение сети и изменения значения ключа в разных сетях... как тут это можно сделать?
как у меня это сделано сейчаc: я храню ключ в postgres при этом синхронно этот postgres реплицирую. если вдруг postgres сдохнет я его вообще выключу из работы и буду работать с другим.
как бы сделать так же чтобы у ключа были копии но использовались бы они только когда сдох основной сервер при этом копия на сдохшем сервере уже не участвовала в работе.
вообщем меня пугает расслоение данных которое описывали люди ранее, когда есть ключ и есть его копия, потом сеть распадается, в одной копии ключ меняется по одному, в другой по другому и в результате мы теряем данные
| |
1.26, Аноним (-), 15:38, 11/11/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
EACH_QUORUM is now a supported consistency level for read requests.
те можно хранить скажем 4 копии ключа и требовать чтобы при чтении были доступны все 4 копии, что делать если все 4 не доступны?
| |
|
2.28, одмин (?), 19:16, 11/11/2015 [^] [^^] [^^^] [ответить]
| +/– |
я бы тебе посоветовал проверить сетевой кабель и кабель питания у всех 4 серверов
| |
|
1.34, oooops (??), 23:49, 13/11/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
а что говорят относительно производительности и потребления/требований к памяти в новой версии? (по сравнению с 2.2)
| |
|