Re[6]: Объектность; Persistence; Hibernate : что дальше?
От: Lloyd Россия  
Дата: 21.09.08 09:40
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

SLH>>Это не очень массовая задача. Она очень инетерсная


BZ>если ты хочешь развиваться именно как программист — иди в области "не для всех"


Например?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[10]: Объектность; Persistence; Hibernate : что дальше?
От: Cyberax Марс  
Дата: 21.09.08 11:31
Оценка:
Здравствуйте, Anatolix, Вы писали:

C>>Логарифмическое время доступа — это ерунда. Для всех практических случаев можно считать log(N)=C. Проблема тут чисто техническая — roundtrip до базы стоит очень дорого.

A>log2(1M)=10
Примерно 20, вообще-то

A>это уже не то чем нужно пренебрегать. На счет roundtrip-а согласен.

Да ну, разницу между select'ом по PK в таблице на 200 миллионов записей и 10 тысяч записей — заметить нельзя. Оверхед на roundtrip всё маскирует.

C>>Так ведь в результате получится ровно то, что будет, если оптимизировать использование ORM.

A>Только не факт что это проще.
Примерно так же и получается, только ORM ещё хотя бы снимает многие проблемы за счёт автоматизации.
Sapienti sat!
Re[7]: Объектность; Persistence; Hibernate : что дальше?
От: BulatZiganshin  
Дата: 21.09.08 15:07
Оценка:
Здравствуйте, Lloyd, Вы писали:

BZ>>если ты хочешь развиваться именно как программист — иди в области "не для всех"


L>Например?


сжатие данных, high-throuhput systems, cloud computing, игры...
Люди, я люблю вас! Будьте бдительны!!!
Re[11]: Объектность; Persistence; Hibernate : что дальше?
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 21.09.08 16:21
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>>>Логарифмическое время доступа — это ерунда. Для всех практических случаев можно считать log(N)=C. Проблема тут чисто техническая — roundtrip до базы стоит очень дорого.

A>>log2(1M)=10
C>Примерно 20, вообще-то
Ой да. Позор мне — все константы забыл
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[9]: Объектность; Persistence; Hibernate : что дальше?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 21.09.08 20:27
Оценка:
Здравствуйте, SteeLHeaD, Вы писали:

SLH>А вот интересно — как то класс "офисных" задач меняется со временем?


А как ты определяешь этот самый класс "офисных" задач?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: Объектность; Persistence; Hibernate : что дальше?
От: Lloyd Россия  
Дата: 21.09.08 21:00
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>>>если ты хочешь развиваться именно как программист — иди в области "не для всех"


L>>Например?


BZ>сжатие данных, high-throuhput systems, cloud computing, игры...


cloud computing — область не для всех? По-моему это скорее область для никого, очередной базворд.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[9]: Объектность; Persistence; Hibernate : что дальше?
От: Cyberax Марс  
Дата: 21.09.08 21:13
Оценка: 5 (1)
Здравствуйте, Lloyd, Вы писали:

BZ>>сжатие данных, high-throuhput systems, cloud computing, игры...

L>cloud computing — область не для всех? По-моему это скорее область для никого, очередной базворд.
В каждом баззворде есть доля баззворда

Кое-где cloud computing рулит. Например, мы используем Amazon EC2 для того, чтобы запускать изредка очень тяжёлые отчёты. Cloud computing рулит — так как мы можем на Амазоне купить машинное время сотни-другой компьютеров на пару часов. Это нам обходится в десятки раз дешевле, чем устраивать свой собственнный дата-центр.
Sapienti sat!
Re[10]: Объектность; Persistence; Hibernate : что дальше?
От: Lloyd Россия  
Дата: 21.09.08 21:25
Оценка:
Здравствуйте, Cyberax, Вы писали:

L>>cloud computing — область не для всех? По-моему это скорее область для никого, очередной базворд.

C>В каждом баззворде есть доля баззворда

C>Кое-где cloud computing рулит. Например, мы используем Amazon EC2 для того, чтобы запускать изредка очень тяжёлые отчёты. Cloud computing рулит — так как мы можем на Амазоне купить машинное время сотни-другой компьютеров на пару часов. Это нам обходится в десятки раз дешевле, чем устраивать свой собственнный дата-центр.


Фига се. А данные как туда попадают?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[11]: Объектность; Persistence; Hibernate : что дальше?
От: Cyberax Марс  
Дата: 21.09.08 21:31
Оценка:
Здравствуйте, Lloyd, Вы писали:

C>>Кое-где cloud computing рулит. Например, мы используем Amazon EC2 для того, чтобы запускать изредка очень тяжёлые отчёты. Cloud computing рулит — так как мы можем на Амазоне купить машинное время сотни-другой компьютеров на пару часов. Это нам обходится в десятки раз дешевле, чем устраивать свой собственнный дата-центр.

L>Фига се. А данные как туда попадают?
У Amazon'а до нашего дата-центра примерно канал в 200Мбит Данные раскладываются на узлы во время их запуска, а потом объединяются в кластер. Данных у нас не так много, а вот как раз процессорного времени нужно навалом.
Sapienti sat!
Re[12]: Объектность; Persistence; Hibernate : что дальше?
От: kingu  
Дата: 24.09.08 16:04
Оценка:
Cyberax wrote:
> Здравствуйте, Lloyd, Вы писали:
>
> C>>Кое-где cloud computing рулит. Например, мы используем Amazon EC2 для того, чтобы запускать изредка очень тяжёлые отчёты. Cloud computing рулит — так как мы можем на Амазоне купить машинное время сотни-другой компьютеров на пару часов. Это нам обходится в десятки раз дешевле, чем устраивать свой собственнный дата-центр.
> L>Фига се. А данные как туда попадают?
> У Amazon'а до нашего дата-центра примерно канал в 200Мбит Данные раскладываются на узлы во время их запуска, а потом объединяются в кластер. Данных у нас не так много, а вот как раз процессорного времени нужно навалом.

А какого вида расчеты и отчеты?
Posted via RSDN NNTP Server 2.1 beta
Re: Объектность; Persistence; Hibernate : что дальше?
От: noetic Украина Систематизация автоматизации
Дата: 25.09.08 14:35
Оценка:
Здравствуйте, SteeLHeaD, Вы писали:

SLH>Не хочу в это верить, но не вижу никакой видимой перспективы, и хочу спросить о ней у более знающих людей.


Вводим условие, что для того, чтобы пользоваться софтом — вам не обязательно его ставить целиком у себя на машине. Добавляем, что наше приложение — то сервси-агрегатор кучи других сервисов. Надстройка, фактически, которая предоставляет пользователю замечательный унифицированый доступ к данным с кучи разных сервисов.

И вот тут-то получается, что хибернет решает процентов 10-20 от всех бизнес-задач

А внешне все это обычный такой доступ к данным и их обработка...
Re[5]: Объектность; Persistence; Hibernate : что дальше?
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.09.08 05:08
Оценка: +2
Здравствуйте, SteeLHeaD, Вы писали:
SLH>В разработке бизнес — приложений. Приложения, которые позволяют записывать, модифицировать и искать информацию в удобной для пользователя форме — решают оченб большой класс бизнес — задач. Мне хочется понять, что придет на смену этому классу задач. или как он видоизменится.
Это утверждение справедливо. Вот только интерпретация "в удобной для пользователя форме" плохо формализована.
Вот тебе банальный пример: пользователь ищет информацию о том, как попасть из пункта А в пункт B. Его интересует наилучшее соотношение цена/скорость, но в пределах ограничений. То есть он не готов потратить год и дойти пешком, и он не готов заплатить $50000 за вертолет.

В остальном — полная свобода: можно пользоваться машиной, поездом, самолетом; нужно учитывать стоимость аренды машины и оптимальный маршрут, нужно учитывать не только расписание, но и затраты времени на регистрацию в аэропорту, и так далее.

Сможет в этом помочь hibernate? Нет, даже гораздо более простой вопрос "где ближайший банкомат" вызовет затруднения. Потому, что гибернейт разрабатывался для очень узкого класса реляционных запросов, для spatial данных он плохо заточен.

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

Это всё мы говорим об очень популярных сейчас потребностях, связанных с поиском информации.

Даже в том узком сегменте, где рулят реляционные СУБД, гибернейту еще ого-го есть куда развиваться. И по функциональности, и по масштабируемости с быстродействием. Так что говорить о "венце всего" преждевременно.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Объектность; Persistence; Hibernate : что дальше?
От: WFrag США  
Дата: 26.09.08 05:50
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Сможет в этом помочь hibernate? Нет, даже гораздо более простой вопрос "где ближайший банкомат" вызовет затруднения. Потому, что гибернейт разрабатывался для очень узкого класса реляционных запросов, для spatial данных он плохо заточен.


Плохо в каком смысле? Условия на геоданные будут работать ровно так же, как и, например, больше/меньше для чисел.
Re[7]: Объектность; Persistence; Hibernate : что дальше?
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.09.08 06:34
Оценка:
Здравствуйте, WFrag, Вы писали:
WF>Плохо в каком смысле? Условия на геоданные будут работать ровно так же, как и, например, больше/меньше для чисел.
А можно пример такого запроса? Я, может, что-то пропустил?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Объектность; Persistence; Hibernate : что дальше?
От: WFrag США  
Дата: 26.09.08 07:23
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, WFrag, Вы писали:

WF>>Плохо в каком смысле? Условия на геоданные будут работать ровно так же, как и, например, больше/меньше для чисел.
S>А можно пример такого запроса? Я, может, что-то пропустил?

Как-то так (выборка всех объектов в области заданной точки):

Point pos = new GeometryFactory().createPoint(new Coordinate(longitude, latitude));
Query query = session.createQuery("from Plant p where spatial.distance(p.point, :pos) < :dist");
query.setParameter("pos", pos, JTSGeometryType.TYPE);
query.setParameter("dist", 4.0 / Math.pow(2, zoom));
List<Plant> plants = (List<Plant>)query.list();


А работает это через вот эти стандарты: http://www.opengeospatial.org/standards/sfs
Re[9]: Объектность; Persistence; Hibernate : что дальше?
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.09.08 09:56
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>
WF>Point pos = new GeometryFactory().createPoint(new Coordinate(longitude, latitude));
WF>Query query = session.createQuery("from Plant p where spatial.distance(p.point, :pos) < :dist");
WF>query.setParameter("pos", pos, JTSGeometryType.TYPE);
WF>query.setParameter("dist", 4.0 / Math.pow(2, zoom));
WF>List<Plant> plants = (List<Plant>)query.list();
WF>


Ух ты, здорово. А ближайший оно, надо полагать, будет искать так:
from Plant p order by spatial.distance(p.point, :pos)

?
WF>А работает это через вот эти стандарты: http://www.opengeospatial.org/standards/sfs
И где именно это работает? Ну там — на MS SQL? Oracle? DB2? Скорость работы как себя чувствует?
А route finding тоже там сделан? То есть учитывается расстояние по дороге, а не по прямой?

Я, кстати, не вижу связи между стандартом и приведенным кодом.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Объектность; Persistence; Hibernate : что дальше?
От: Cyberax Марс  
Дата: 26.09.08 10:02
Оценка:
Здравствуйте, Sinclair, Вы писали:

WF>>А работает это через вот эти стандарты: http://www.opengeospatial.org/standards/sfs

S>И где именно это работает? Ну там — на MS SQL? Oracle? DB2? Скорость работы как себя чувствует?
S>А route finding тоже там сделан? То есть учитывается расстояние по дороге, а не по прямой?
Работает там, где есть spatial-расширения. Я лично использую это в PostgreSQL с установленным PostGIS, и плугином к Hibernate (http://www.hibernatespatial.org/).

Написано, что поддерживается ещё MySQL и Oracle.
Sapienti sat!
Re[10]: Объектность; Persistence; Hibernate : что дальше?
От: Cyberax Марс  
Дата: 26.09.08 10:11
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Ух ты, здорово. А ближайший оно, надо полагать, будет искать так:

S>
S>from Plant p order by spatial.distance(p.point, :pos)
S>

S>?
Лучше ещё задать bounding box — существенно ускорим запрос.

S>Я, кстати, не вижу связи между стандартом и приведенным кодом.

Это библиотека HibernateSpatial, она использует адаптированный к Java интерфейс.
Sapienti sat!
Re[13]: Объектность; Persistence; Hibernate : что дальше?
От: Cyberax Марс  
Дата: 26.09.08 10:13
Оценка:
Здравствуйте, kingu, Вы писали:

>> У Amazon'а до нашего дата-центра примерно канал в 200Мбит Данные раскладываются на узлы во время их запуска, а потом объединяются в кластер. Данных у нас не так много, а вот как раз процессорного времени нужно навалом.

K>А какого вида расчеты и отчеты?
Data mining, поиск корреляций.
Sapienti sat!
Re[10]: Объектность; Persistence; Hibernate : что дальше?
От: WFrag США  
Дата: 26.09.08 10:31
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Ух ты, здорово. А ближайший оно, надо полагать, будет искать так:

S>
S>from Plant p order by spatial.distance(p.point, :pos)
S>

S>?

На самом деле, тут неправильный ближаший — по прямой.

WF>>А работает это через вот эти стандарты: http://www.opengeospatial.org/standards/sfs


S>И где именно это работает? Ну там — на MS SQL? Oracle? DB2?


В MySQL условно, в Postres нормально, в Oracle/MS SQL должно (сам не работал, но декларируют, что расширение поддерживается).

S>Скорость работы как себя чувствует?


Не знаю, у нас объемы смешные, меньше 100к записей, да и задачи специфичные. Индекс какой-то там используется.

S>А route finding тоже там сделан? То есть учитывается расстояние по дороге, а не по прямой?


Неа. Ну то есть этот стандарт он скорее о геометрии. Поиск расстояния, пересечение полигонов, и.т.д.

S>Я, кстати, не вижу связи между стандартом и приведенным кодом.


В стандарте описывается тип и операции над ним. У pos тип GEOMETRY, spatial.distance превращается в SQL-ный ST_Distance (описанный в PDF-ке OpenGIS Implementation Specification for Geographic information — Simple feature access — Part 2: SQL option).
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.