Стоит ли заменять MySQL Parse.com при использовании PHP?

Можно ли использовать Parse.com вместо MySQL для PHP-приложения? Если да, каковы преимущества и недостатки этого маршрута? Как MySQL присоединяется к работе, если вы используете синтаксический анализ?

Ответ 1

Основными преимуществами Parse являются то, что вы сможете работать с концепциями уровня приложения, такими как учетные записи пользователей и push-уведомлениями, а не с концепциями, ориентированными на технологию, такими как базы данных и сокеты ввода-вывода. Использование Parse помогает обмениваться собственными моделями между серверным кодом и несколькими клиентами. Если вы ожидаете какой-либо популярности, масштаб парсеза и команда Ops избавят вас от огромного количества боли при масштабировании.

Перемещение с PHP + MySQL на Parse не может быть тривиальным, поэтому Parse может не иметь смысла для крупных проектов, уже вложенных в эти технологии. Parse не предоставляет сторонний PHP SDK, хотя есть SDK, указанный в разделе третьей стороны в API Libraries. Интерфейс также отображается с помощью REST. Реально, однако, это связано с тем, что PHP является серверным языком, а Parse направлен на устранение необходимости в кодировании на стороне сервера. Возможно, вы захотите использовать их библиотеку JavaScript и посмотреть, что можно реализовать на стороне клиента; если вам действительно нужно выполнение на стороне сервера (например, для выполнения высокой целостности + разрешения), среда Cloud Code также запускает JS SDK.

В вашем вопросе о присоединениях есть технический и философский компонент. Технически говоря, сохранение одного объекта Parse в другом семантически эквивалентно использованию внешнего ключа, а запросы имеют параметр "включить", который функционально эквивалентен оператору JOIN в SQL. Параметр "Анализ" - это таблица с индексированным соединением с агрессивной индексацией, подходящая для отношений "многие ко многим", хотя инструмент не позволяет включать обе стороны соединения, поскольку он предназначен для использования с коллекциями высокого уровня. Философски, Parse is noSQL. Это означает, что ваши классы не должны быть такими же нормализованными, как обычно создаются таблицы SQL. Создайте свои классы, чтобы инкапсулировать идею и доверять индексированию noSQL для эффективного обработки запросов.