Websocketは、基本的にクライアントからsocketサーバへコネクトしてから通信を始めるものなので、サーバからクライアントへデータを配信する用途には向きません。
たとえば定期的にサーバからWindowsクライアントへデータ配信したいなら、Windowsのタスクスケジューラにsocket通信を実行させるタスクを組み込んでやる必要があります。
負荷に関してはapache+php+MySQLなどを使ったWebサービスとさほど変わるものではなく、
負担がかかるとすればデータ通信量による負荷(通信帯域の限界)のほうが先にきます。
下記記事などを参考にされると良いでしょう。
さくらのVPSとPHPでWebSocketをサクっと勉強してみる
http://demouth.hatenablog.com/entry/20110111/1294699568
http://demouth.hatenablog.com/entry/20120102/1325516167
具体的な内容によりますが、全クライアント共通のデータならば、cronでイベントチェックしてデータを作成したら、それをキャッシュしておけば良いのでは?
具体的にはキャッシュ用のテーブル作って、更新時間とキャッシュデータからなるレコードを1レコードを収めておきます。
cron側ではそれを更新し、クライアント側は更新時間をみて前回から更新されているかチェックし、更新されていればキャッシュデータを読みます。
これをデータベースでやってもクエリは単純に1レコード読むだけで、なんら複雑なクエリではありません。クエリの間隔もcronでの更新を検知するためですから、数分から、短くとも数十秒単位でしょう。このクエリで負荷を問う様であれば、そもそもメインの処理を維持できるとは思えません。
それでも気になるという場合はmemcachedなどを検討してはどうでしょうか。