Your solutions are varied, but the results will be (mostly) the same. Option 1: Lower the resolution and quality settings on your camera. If you are seeing 3-4 MB per photo, then they are probably at least 4000 pixels wide, and your file size will be larger to reflect that. If you set the camera to a lower quality and or resolution, you will for sure save disk space. Consequently, you will also lose image quality. If you are mainly archiving the photos for the purpose of viewing them online, on your PC, or through a digital picture frame, this is no big deal. If you intend to print, especially a large print, you will see pixelation occur in the print. This will take smooth parts of your picture and chunk colors together in a "boxy" appearance. Your second option, is to import your photos in a program like
Google Picasa or many other free options, and then convert your image to a compressed format, such as a compressed JPEG or PNG file. PNG files are usually the better choice for file size, but not every devices (frames, TVs, etc.) recognize PNG files. So you may want to stick with JPEG depending on your use for your photos. Additionally, you can lower the resolution of hi-res photos within Picasa (or its alternatives)
after importing the photos. This is the preferred route as you can take every photo like you want to print it as a poster, and then choose which photos to drop the resolution. This gives you the safety of shooting each picture as if you want to keep the quality and then later decide which are worth archiving at what resolution. Remember, the detail in a photo also reflects upon its size, not just resolution, if you take one 12 MP picture of the sky and another of a bunch of different color balloons, the balloon will have more color data and thus a higher file size.