NoSQL Solution for a Hosted Site - php

I'm operating on a hosted site without the option to install software packages (i.e.; unsupported binaries) and I'm interested in the benefits of NoSQL for a potentially database intensive site.
Are there any solutions of NoSQL that can easily be implemented with little-to-no sysadmin involvement?

Many of the NoSQL databases have hosted versions available.
MongoHQ is an example of one for MongoDB.

Have you thought about using 3rd party hosted DB solutions? For instance Google hosts their App Engine "platform" along with its Datastore. (http://code.google.com/appengine/)

As mentioned there are many hosted solutions that tend to be located on Rackspace Cloud Servers, or Amazon EC2 servers which you should be able to hook into. As a bonus many of them them (at least CouchDB and Mongo) eiher support natively or have extension that allow queries to be made over HTTP which should simplify connecting to them greatly. These hosted solutions manage 99% of the daily (and general) sysadmin faff so that you just worry about creating the database and reading and writing data to it.
(Just don't forget to allow your currents servers IP access to the hosted nosql DB when you wonder why it doesn't work)
CouchDB examples
http://cloudant.com/
http://www.iriscouch.com/
Mongo example
https://mongolab.com/home/

Related

PHP Web App - local and online synced versions

I developed a PHP driven Web App with a MySQL backend. New requirement is to have it available offline too at a client's office, once there is an lnternet connection, the two should sync so that both local and online versions are the same. Any advice on how best to implement this?
I found MySQL database Master-Master Replication helpful.
https://www.linode.com/docs/databases/mysql/configure-master-master-mysql-database-replication
no need to write code

creating a real time application in laravel without nodejs

I am using a shared hosting in which i can't use node js.
But I want to create a real time application using laravel as per there https://laravel.com/docs/5.3/broadcasting doc they provide drivers they all uses node if I am not wrong.
I have also searched about https://github.com/Askedio/laravel-ratchet which works with laravel but it requires a ZMQ which I can't install on my shared hosting.
What should I do any ideas.
You could use Pusher and combine it with Laravel Echo. Echo is a front-end JS framework, so just include the assets and you should be fine.
I think it should be said that it's probably not a good idea to develop these kinds of apps on shared hosted servers, due to a couple of reasons:
You almost never have SSH access, so deploying and debugging is an immense pain
You can't install additional software you need, like NodeJS
Shared hosted servers often aren't build to run heavy php applications, they are build to serve simple websites (that's why they're so cheap)
Depending on your host, all other ports than 80 and 443 are closed, so usage of external services can be blocked
All in all, I think it's better to just get a cheap VPS (i.e. a DigitalOcean $10 plan) in which you can actually do all those things. Yes it's more expensive than shared hosting, but if that's really the game-changer, find a sponsor or partner. $120 is a piece of cake compared to the pains of using shared hosting, and that's speaking out of experience.

is it possible for Wordpress Site to loading from 2 servers?

I have a WordPress platform based site, switched 3 hosting companies in 3 months, due to speed and uptime problem.
is it possible to host my site on two servers, if one is down site automatically run from second one :)
Note : 1). it is a design images based site (you can say wallpaper site)
Yes it's possible you can host your site on multiple servers with one domain by providing different 'Name Servers' e.g. ns1.domainname.com, ns2.domainname.com, ns1.diffdomainname.com and so on in your website hosting panel. This will serve your issue if your site is down from one server, it easily picks the site from other server.
The solution for this problem is setting up high available and auto scalable infrastructure.
You can use AWS, it supports everything you need.
Your WordPress application can be have 3 layers.
1) Load balancing Layer
2) PHP Application Layer
3) Data Base Layer
You can use elasticbeanstalk to easily installation and maintenance of Load balancing Layer i.e ELB and PHP Application Layer i.e ec2 servers
check out this doc for php application deployment using beanstack
make sure you are using multiple AZ(Availability Zone)s for in all layers to achieve high availability.
You can also use AWS RDS mysql or Aurora for DB layer
Yes! This technology is called "Load Balancing" for Servers, you could configure your servers with open source software, or you can do it with comercial companies that offers this.
You should do Load Balancing for each service that you need like: MySQL (or your database system) and Apache (or your webserver).
He an example: Setting Up A High-Availability Load Balancer (With Failover and Session Support) With HAProxy/Heartbeat On Debian Etch

Basic knowledge for Node.JS?

I'm trying to learn about node.js and there are tons of examples out there, but one question that I can't find an answer to or example is how does this work with web hosts (i'm using inmotionhosting.com)?
say I have a basic website www.url.com/index.php (note: I'm using PHP also). For this website to work, all I have to do is upload a file into my file manager in my web hosting site.
How does node.js work? do I just upload a node.js file into the web hosting also?
In all the examples, they are using localhost with port 8000 or something. Can someone shine some light?
Thanks!
you will need at least VPS hosting to install node.js, shared hosting won't allow you to install any application on your own, unless you they give you the option to do it.
then it all depends on how you have configured and what application is node.js serving, you can't really say where to upload files by default unless a path is set either from you or from webhosting..
from nodejs.org
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
it doesn't say it specific for web use, instead you should use a web framework such as
ExpressJS where you can build you web application or any other stuff.. your host should provide further information on how to manage packages in your nodejs instance, configuration, etc..
some usefull links
Domain API
ExpressJS
ExpressJS examples
Here is something i came cross.
Hosting your node app?
Hosting Node Apps
nodeFu
Supported hosting providers?
Node Hosting
just read the descriptions for each section.

Is there a way to access MySQL and/or PHP pages from Lotus Notes?

I have a full internet application served on a LAMP server, which I have complete access (root) to all of the server settings and web page files. Unfortunately, due to policy, it cannot be accessed outside of the company location.
However, we are using Lotus Notes for an email/database system, which is fully accessible from anywhere with an internet connection. All users have the Notes client installed, and the interaction can be one way (MySQL --> Domino Server). There are no concerns about access or security through Lotus Notes from management.
Is there a way to have notes access my LAMP server, and either serve up webpages and files, or develop a quick interface to access the MySQL database?
I am assuming that the Domino Server can access MySQL through ODBC, but I'm not sure where to go from here.
Thank you in advance for any assistance or direction!
Since you have old Notes clients, IBM's latest XPages technology is out of the question -- unless your Domino server is already open for HTTP, in which case you can use XPages on Domino to get information from MySQL and serve it to a browser. This would be the most up-to-date technical direction to go in.
But in general, the answer is yes, there are several ways for Domino servers to access MySQL data, and if you don't need to be using all the latest toys there are some old standby tools to get the job done. There is an IBM solution called Domino Enterprise Connection Services, or DECS, that performs real-time mapping between Notes databases and relational databases. You can find information about it here. Another IBM solution called Lotus Enterprise Integrator, or LEI, is designed for batch transfer operations between Notes databases and relational databases. You can find information about it here. You can also use the #DbLookup function in Lotus formula language or LCLSX (LotusScript Connector Extensions) in LotusScript code for events or agents in a Notes database.

Categories