Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 18.08.2014, 20:08
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от melky
тут уже оофтоп пошел )
Блин, это я тему перепутал, убрал куда хотел изначально http://javascript.ru/forum/showthread.php?p=326433
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #22 (permalink)  
Старый 19.08.2014, 00:56
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Короче перед тем как создавать тему нужно было до конца разобраться чем реляционные бд отличаються от noSql
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #23 (permalink)  
Старый 19.08.2014, 10:49
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Главное что нужно понять в NoSQL - что это термин за которым срываются большое количество абсолютно разных СУБД, например,

ключ-значение: reddis
семейства столбцов: casandra
документо-ориентированные: mongoDB
графовые: Neo4J
и т.д.

Рекомендую к прочтению М. Фаулер NoSQL - это небольшая книженция в которой коротко и без воды рассмастриваются все основные виды NoSQL СУБД.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 19.08.2014 в 11:10.
Ответить с цитированием
  #24 (permalink)  
Старый 19.08.2014, 10:52
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Я бы сделал так: SQL, если отношения есть (или будут), и NoSQL, если их нет (и не будет).
Цитата:
Моё имхо, пытаться делать реляции на NoSQL - это просто жесть
На лицо суждение о NoSQL по СУБД типа ключ-значение, но NoSQL этим не ограничивается (читай пост выше).

Для сложных отношений нет ничего лучше графовых СУБД типа Neo4J (а это NoSQL). Например запрос типа: построй карту "6-ти рукопожатий" от юзера А до юзера Б в графовых СУБД делается очень просто и очень быстро, а во всех остальных решениях это как правило ад.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 19.08.2014 в 11:14.
Ответить с цитированием
  #25 (permalink)  
Старый 19.08.2014, 11:01
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Очень сомнительная иллюстрация.

Зачем монге ещё редис вешать? Как и любая нормальная СУБД монга старается держать всё в оперативе и при нормальном индексе кеш редиса не даст никакого профита. Также Redis (или тот же memcacheDB) можно спокойно юзать как самостоятельную СУБД

В проектировании БД главное предусмотреть сегментирование (в некоторых СУБД есть решения из коробки), а всё остальное ерунда, а если ваша БД не сегментируется, то рано или поздно настанет момент, когда все данные не влезут в оперативу и вам придётся переписывать всю вашу серверную логику, т.е. сегментирование должно быть автоматическим.

Более того, в современном мире в рамках проекта используется как правило 2-3 СУБД одновременно, даже есть термин - многовариантная персистентность.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 19.08.2014 в 11:12.
Ответить с цитированием
  #26 (permalink)  
Старый 19.08.2014, 11:17
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от kobezzza
рано или поздно настанет момент
Или не настанет никогда. Я однажды сделал предварительную оптимизацию, которая позволяла много чего, взамен небольшое неудобство при написании кода. Я проклял эту оптимизацию, т.к. она никогда не пригодилась, а вот с неудобством при написании кода я натрахался по самые уши.

ПС: думаю что кибер тебя не поймет, а если и поймет, то построить что-то толковое вряд ли сможет сходу. Для твоего предложения нужен опыт работы хотябы с одной базой данных и случай "невлезания" данных, а судя по его мыслям у него опыта никакого нет.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 19.08.2014 в 11:20.
Ответить с цитированием
  #27 (permalink)  
Старый 19.08.2014, 11:21
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Или не настанет никогда. Я однажды сделал предварительную оптимизацию, которая позволяла много чего, взамен небольшое неудобство при написании кода.
Если только приложение и не планируется под такой объём. Проблема сегментирования в том, что его нельзя потом просто включить, т.к. придётся переписывать вообще всё.

Использование решений "из-коробки" вроде MongoDB (на самом деле много кто предоставляет автосегментацию, но как правило это дорогие решения вроде Oracle) может переложить эту заботу на другие плечи.

PS: что касается Postgre, то у него есть своя отдельная СУБД для проектирования таких вещей.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 19.08.2014 в 11:34.
Ответить с цитированием
  #28 (permalink)  
Старый 19.08.2014, 11:24
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от kobezzza
Проблема сегментирования в том, что его нельзя потом включить, т.к. придётся переписывать вообще всё.
Вот тут главное правильно оценить ситуацию:
1. Приложение может и не вырасти.
2. Написанный код (выбранный способ) может и не справиться с объемом, т.к. ситуация по сути абстрактная
3. Затраты на написание сегм. кода больше.

Иногда проще написать с нуля, чем сразу писать то, что не понимаешь.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #29 (permalink)  
Старый 19.08.2014, 11:36
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Все зависит от скорости роста (проекта, посещаемости). Иногда проще взять машину помощнее или памяти побольше и проблема будет решена, нежели сразу писать код|выбирать способ рассчитанный на высокую нагрузку. Конечно в идеале лучше сразу писать код, выбирать базу рассчитывая на нагрузку. Особенно если это не затратно как по времени написания, так и по деньгам аренды оборудования.

Но как показывает практика, если что-то делаешь впервые, то лучше делать это проще.

Проект может не взлететь. Писать дольше на том, что изучаешь. Основная ошибка будет не там где думаешь. Это от того, что кибер понятия не имеет с чем столкнулся и выводы, уверен на 80% сделает в большинстве своем ошибочные, даже если ты ему все правильно скажешь. Прежде чем он сделает правильные выводы у него должен появиться опыт.

Поэтому чё париться предлагать писать сразу мега нагруженное приложение, когда ты даже тз его не знаешь, темы, идеи и посещаемости, а также динамики роста?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #30 (permalink)  
Старый 19.08.2014, 11:45
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Gozar имхо в таком случае лучше взять готовое решение в облаке и немного переплатить, а потом когда встанет вопрос просто провести миграцию на такой же сервис, но уже свой. И волки сыты и овцы целы
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какую лопату выбрать? Gozar Оффтопик 31 22.08.2013 12:11
Какую технологию взять Vatanga Общие вопросы Javascript 6 23.02.2013 16:35
Помогите с чекбоксами Александр141 Элементы интерфейса 0 12.01.2013 21:18
Выбрать элементы где значение атрибута меньше или больше заданного Neokortex jQuery 5 03.10.2011 14:23
Как выбрать предшествующий див? FRIE jQuery 6 22.06.2011 23:35