Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Подойдет ли мне Java / 23 сообщений из 23, страница 1 из 1
17.11.2013, 21:29:06
    #38467945
darlov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
Доброе время суток, никак не могу определиться c выбором между изучением C# или Java. Цель у меня работать c COM (Component Object Model) под большой нагрузкой, а именно собирать данные с производственные точек контроля с помощью OPC сервера и класть в hadoop. hadoop написан на java, а c# хорошо работает с COM, вроде как...Что можете мне подсказать, как java работает с COM под большие нагрузки? Не охота строить зоопарк, да изучать два языка...
...
Рейтинг: 0 / 0
18.11.2013, 04:16:24
    #38468081
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
darlovЧто можете мне подсказать, как java работает с COM...? JACOB - Java COM Bridge darlovпод большие нагрузкиНе пробовал.
...
Рейтинг: 0 / 0
18.11.2013, 09:27:42
    #38468159
Anatoly D
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
darlov,

а зачем Вам hadoop? Расскажите про объём данных, хотяб приблизительно и их целевое использование.
...
Рейтинг: 0 / 0
18.11.2013, 11:11:48
    #38468267
darlov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
Anatoly D, Происходит ежесекундный опрос датчиков, их сейчас около 1000, скорей всего будет больше, я планирую сохранять сырые данные в hadoop, это порядка 3 600 000 значений в час, после агрегировать в Posgresql.
Это на данный момент 1000 знач/сек, а если больше, получается значительная нагрузка, с которой СУБД явно не справится.
...
Рейтинг: 0 / 0
18.11.2013, 12:25:02
    #38468379
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
3 600 000 значений и в оперативной памяти запросто уместится
...
Рейтинг: 0 / 0
18.11.2013, 12:32:37
    #38468399
Anatoly D
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
darlov,

можно же написать модуль опроса на C#, который будет сырые данные аггрегировать ( не понимаю, что Вы имеете ввиду под аггрегацией) и слать уже в центральный модуль на сохранение. Или у Вас какая-то более серьёзная обработка намечается?
...
Рейтинг: 0 / 0
18.11.2013, 12:33:44
    #38468400
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
Если там сплошная винда и COM, то лучше взять C#.

Почти все варианты для Java так или иначе работают через лишнюю прослойку в виде JNI
http://stackoverflow.com/questions/11570753/java-opc-client-application

Ещё вариант из Википедии
авторOPC UA (Unified Architecture) — последняя по времени выпуска спецификация, которая основана не на технологии Microsoft COM, что предоставляет кросс-платформенную совместимость.
Т.е. есть существуют протоколы обмена данными и без COM
...
Рейтинг: 0 / 0
18.11.2013, 12:50:17
    #38468438
SkyNIN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
Не совсем понятно почему выбран Hadoop.

По задаче получается что нужно персистентное хранилище выдерживающее массированный прием простых данных.

В мире джава это Apache Cassandra. Hadoop штука несколько не про то. Он нужен когда нам и обработку данных нужно масштабировать.

Но. Работа с COM из Java может принести немало головной боли. Более надежно, найти такую БД которая удовлетворяет предстоящим нагрузкам, но имеет универсальный протокол обмена с внешним миром, обычно нечто поверх http. Чтобы не думать, на чем она написана, хоть на Erlang,е

И. базы типа MariaDB(есть еще скоростные клоны MySQL) - хорошо тюнятся на запись. может, для вашей задачи не понадобится связываться с кластерными технологиями.
...
Рейтинг: 0 / 0
18.11.2013, 13:40:37
    #38468523
darlov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
Hadoop я планирую для хранения первоначальных данных, пускай будет с дискретностью секунда, потом планирую из первоначальных данных делать агрегацию по минутам, часам и дням, но уже сохранять в Postgresql.
3 600 000 значений это же только за час накопится, а если учесть месяц то получается 2,5 миллиарда, а год, а если тегов не 1000, а 3000... Читал я про MariaDB, Mysql они очень медлительные при больших объемах данных когда таблица измеряется в миллиардах записей. Возможно я и заблуждаюсь...
...
Рейтинг: 0 / 0
18.11.2013, 14:06:48
    #38468563
SkyNIN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
darlov, очень мало технических подробностей, чтобы что-то конкретное посоветовать

насчет медлительности - ... MyISAM ... Using multiple key caches was the good solution at that time and we could get over 200K of inserts/sec. High Rate insertion with MySQL and Innodb

darlov3 600 000 значений это же только за час накопится
эти цифра ни о чем не говорят. 3 600 000 значений размером во сколько байт? уже как-то понятней будет.

При "работе с датчиками" обычно не интересует эта цифра. а вот пиковое количество сохранений в секунду - да. которое можно обойти самим сборщиком, который формирует пакеты для bulk операций, а уж потом шлет. но - что в вашем случае лучше - неизвестно.

Про кластерные технологии упомянул, потому что если нет опыта работы с ними - запросто можно получить работу медленнее чем на обычном MySQL. В отличие от реляционных БД - там каждая настраивается по своему, имеет свои фичи и хитрости, и т.д. Если нет цели изучить для карьерного роста, а сугубо прагматичная - реализовать задачу с минимальными усилиями, то

1. Java вам не нужна. С# - сам напросился.
2. смотреть в сторону реляционных БД, методов их разгона и паттернов на массированную запись.
...
Рейтинг: 0 / 0
18.11.2013, 14:43:09
    #38468627
darlov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
Каждое значение весит по 4 байта,
SkyNIN, да я читал что hadoop далеко не простая штука. В другой ветки форума мне утверждали, что в реляционной БД тяжело хранить такой объем и советовали hadoop. Для меня идеально конечно все хранить в реляционной, но боюсь в будущем переписывать все под что то другое.
...
Рейтинг: 0 / 0
18.11.2013, 14:47:52
    #38468633
Anatoly D
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
darlov,

а ТЗ можете выложить сюда?
...
Рейтинг: 0 / 0
18.11.2013, 15:21:05
    #38468688
SkyNIN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
darlov, мир биллионговых систем годами как-то обходился без Hadoop'а.

4 байта это - не объем, при 1000 в сек.

darlovДля меня идеально конечно все хранить в реляционной
вот и попробуйте вначале хранить там :) см выше - поспрашивайте как оптимизируется запись в биллинге.

darlovно боюсь в будущем переписывать все под что то другое.
набросайте DAO слой, чтобы остальная часть и не знала где оно хранится

Задачи нужно решать по мере поступления, с небольшим заделом на будущее. Врядли в обозримом будущем вашей системе придется обрабатывать данных в 100 раз больше чем сейчас.

darlovв реляционной БД тяжело хранить такой объем
если не ошибся с арифметикой:
4000*60*60*24*365 / 1024 / 1024 / 1024 = 117 Гб в год чистых данных. это не объем для современных реляционных БД. Тем более то с этими данными работа будет осуществляться один раз - выбрать в агрегирующую систему. наверняка нужны будут идентификаторы датчиков. и очень может быть, что через месяцок разрешено будет удалять исходные данные, или "сворачивать".

На какой рост объема вы рассчитываете в будущем - в 10, 100, ..., 1 000 000 раз?

и не забывайте о важной вещи - класстерные БД тогда хороши, когда есть более 3ех физических нодов, с большим объемом ОЗУ на каждом.
Если железо слабое, то реляционные то оптимизированы на работу с размерами данных многократно превышающими размер ОЗУ на единичном ноде.
Я к тому, что злую штуку может сыграть и этот фактор, развернете вы Hadoop, а ему то развернуться и мощь показать не будет на чем.

Очень часто забывают учесть эти факторы
освоение любой технологии требует времени, а применение - изменения окружения: технического, а то и бизнесового.
...
Рейтинг: 0 / 0
18.11.2013, 16:40:21
    #38468834
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
откройте для себя vertica
...
Рейтинг: 0 / 0
18.11.2013, 16:46:49
    #38468844
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
если у вас данные аналоговые (грубо говоря - например данные с 1000 термометров) - вам ни хадуп ни кассандра не нужны. И всякие *sql вам не нужны тоже. Вам нужен rrdtool или его аналоги.
rrdtool и все его аналоги хороши, если данные с 1 датчика приходят раз в несколько секунд и реже, т.к. у всех этих баз дискретность 1 сек и более. На жабе тоже есть JRobin напрмиер. Впринципе и дискретные данные можно считать часным случаем аналоговых при желании...

Если у вас данные приходят чаще чем раз в секунду, то такой базы вы вряд ли найдете. Я когда-то искал - не нашел, на базе sql все тормозило и жрало память. В итоге сделал самописную, специально заточеную по такие данные, но зато работала она значительно лучше. Для каждого датчика буфер на определенное время, по заполнении он ставится в очередь на запись.
Для аналогичного решения на базе mysql понадобились бы, наверное, десятки мощных серверов.
...
Рейтинг: 0 / 0
18.11.2013, 17:47:01
    #38468952
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
да можно вообще в csv или просто бинарные файлы писать, с определенной фрагментацией в определенное дерево папок, типа ГГ/ММ/ДД/ЧЧ, сопсно. Потом гонять агрегацию не особо сложно там будет. И распараллелить тоже не проблема.
...
Рейтинг: 0 / 0
18.11.2013, 17:56:01
    #38468965
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
darlovДоброе время суток, никак не могу определиться c выбором между изучением C# или Java. Цель у меня работать c COM (Component Object Model) под большой нагрузкой, а именно собирать данные с производственные точек контроля с помощью OPC сервера и класть в hadoop. hadoop написан на java, а c# хорошо работает с COM, вроде как...Что можете мне подсказать, как java работает с COM под большие нагрузки? Не охота строить зоопарк, да изучать два языка...
Работать с COM однозначно лучше на сишарпе. А по поводу хадупа.. ну не знаю.
Ты собери сначала макет чтоб он просто взлетел локально.

Хадуп уж как-нибудь вторым ТЗ пойдет.
...
Рейтинг: 0 / 0
18.11.2013, 22:23:16
    #38469213
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
ПС. На яве и на сишарпе работать с ком-объектами - один хрен. Не лучше и не хуже.
...
Рейтинг: 0 / 0
19.11.2013, 13:17:44
    #38469770
darlov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
Спасибо всем за многочисленные советы, ушел думать.
...
Рейтинг: 0 / 0
19.11.2013, 13:49:00
    #38469841
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
chabapokесли у вас данные аналоговые (грубо говоря - например данные с 1000 термометров) - вам ни хадуп ни кассандра не нужны. И всякие *sql вам не нужны тоже. Вам нужен rrdtool или его аналоги.
rrdtool и все его аналоги хороши, если данные с 1 датчика приходят раз в несколько секунд и реже, т.к. у всех этих баз дискретность 1 сек и более. На жабе тоже есть JRobin напрмиер. Впринципе и дискретные данные можно считать часным случаем аналоговых при желании...
Весь вопрос в скорости реакции. Если это просто аналитика то совершенно не важно, фиксируем
ли мы показания датчика в базе мговенно или загружаем спустя сутки из интеграционных или промежуточных
серверов или рабочих станций. Главное чтобы вместе с пакетом измерений пришёл точный timestamp
для каждого измерения. Здесь и Java хороша и C# и прочие питоны с перлами.
...
Рейтинг: 0 / 0
19.11.2013, 14:08:31
    #38469885
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
Добрый день.
Вообще COM это не родная Явовская технология.
Java позиционирует себя как кросплатфрменная система
COM =исключительно виндовская примочка....
Я бы смотрел в сторону исключительно MS платформ.
...
Рейтинг: 0 / 0
19.11.2013, 14:36:33
    #38469953
just_vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
1. Присоединяюсь к мнению, что стоит хорошо подумать на тему "а нужен ли хадуп", умелое использование RDBMS и правильная архитектура должны без проблем решить данную задачу.
2. Для работы с COM однозначно проще использовать C#.
...
Рейтинг: 0 / 0
19.11.2013, 15:27:32
    #38470045
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подойдет ли мне Java
mayton,

автор Если это просто аналитика то совершенно не важно, фиксируем
ли мы показания датчика в базе мговенно или загружаем спустя сутки из интеграционных или промежуточных
серверов или рабочих станций

У меня практика показала, что начиная с какой-то ширины входящего потока, хранить аналоговые данные типа "температура за месяц" в mysql слишком дорого. Существенно дороже, чем в rrd-базе. Я пробовал сначала на mysql делать, и отказался от него не от хорошей жизни. Грубо говоря, обычный хиленький ноут, 500..1000 термометров/от каждого по ~20значений/сек, с rrd базами на 3 месяца, тянет легко и непринужденно, даже на java без официального риалтайма оно работает вполне как риалтаймовое. Но если мы это делаем на mysql - нужно какое-то многовинчестерное хранилище, и по прикидкам получается, что нужна такая конфигурация железа, что я даже не знаю бывает ли такое. И при этом результат не лучше rrd. Мораль: каждой цели - свой инструмент.

а так конечно да, "если это просто аналитика то совершенно не важно, фиксируем ли мы показания датчика в базе мговенно или загружаем спустя сутки". Но кстати само время загрузгки важно.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Подойдет ли мне Java / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]