PDO is available on any server, xPDO is built into MODX (and Revolution is based on xPDO). xPDO was developed by MODX core developer Jason Coward (OpenGeek).
The "which is easier" question is not a simple one. If you already know PDO, it's easier, but if you don't, xPDO is easier to *use* IMO.
xPDO takes a little work to set up (whereas, PDO will work right away). For xPDO, you have to set up a schema for your custom tables and then generate class and map files. Once you do that, though, it's relatively easy to work with.
This page (
http://bobsguides.com/revolution-objects.html) will give you some of the flavor of using xPDO. Once you have things set up, your "objects" (which are basically rows in your tables) have the same status as the MODX objects described on this page and you can get them with the same methods. For example, with xPDO you could get a book with this:
$book = $modx->getObject('modBook', array('title' => 'Gone With the Wind'));
You could then get the book's authors or illustrators like this:
$authors = $book->getMany('Authors');
You'll get back an array of author objects (that might have just one member).
Similarly:
$illustrators = $book->getMany('Illustrators');
You could get *all* books with this:
$books = $modx->getCollection('modBook');
Going the other way, if you had an $author object, you could get that author's books with:
$author->getMany('Books');
I hope that makes sense.
------------------------------------------------------------------------------------------
PLEASE, PLEASE specify the version of MODX you are using.
MODX info for everyone:
http://bobsguides.com/modx.html